• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

MS-Word overrides force create mode

sisko

Newbie
Hai,

ich dreh' gleich durch :twisted: :

Suse10, Samba 3.0.20b, LDAP-UserDB, keine Domäne.

Hier eine Freigabe auf dem Server :

Code:
[global]
        unix charset = UTF8
        workgroup = SAMBA
        server string = Samba %v
        update encrypted = Yes
        map to guest = Bad User
        passdb backend = ldapsam:ldap://localhost
        username map = /etc/samba/smbusers
        password level = 4
        log file = /var/log/samba/log.%m
        load printers = No
        printcap name = cups
        logon path = \\%L\profiles\.msprofile
        logon drive = P:
        logon home = \\%L\%U\.9xprofile
        domain logons = Yes
        os level = 65
        preferred master = Yes
        domain master = Yes
        wins support = Yes
        ldap admin dn = cn=admin,o=firma
        ldap group suffix = ou=groups
        ldap machine suffix = ou=hosts
        ldap passwd sync = Yes
        ldap suffix = o=firma
        ldap ssl = no
        ldap user suffix = ou=user
        read only = No
        cups options = raw
        hide special files = Yes
        hide unreadable = Yes
        veto files = /*.eml/*.nws/riched20.dll/*.{*}/
        hide files = /.*/

[homes]
        comment = Home Directories
        valid users = %S
        inherit permissions = Yes
        inherit acls = Yes
        browseable = No

[ha1]
        path = /srv/samba/ha1
        valid users = @ha1
        force group = ha1
        browseable = No
        create mask = 0775
        force create mode = 0775
        directory mask = 0775
        force directory mode = 0775

Alle User in der Gruppe ha1 haben darauf Zugriff, als sog. Teamverzeichnis. Jeder kann Dateien ablegen, bearbeiten, etc. Er kann auch Dateien von anderen lesen. Alles kein Problem.

Nun kommts :

Heinz legt ein neues MS-Word Dokument an, schreibt was rein, speichert es ab und geht nach Hause.
Susi kommt noch schnell, macht dieses Dokument auf und ändert etwas. Sie speichert es ab und geht ebenfalls.
Nun kommt Heinz am nächsten Morgen und möchte an der Datei weiterarbeiten. Kein Problem, er öffnet sie, findet Susis Änderungen, freut sich über seine fleißige Kollegin und tippt weiter. Irgendwann möchte er speichern, klickt auf <Speichern> und .... BUMM Datei sei schreibgeschützt. No way ... es geht nicht. Er muß ein neues Dokument anlegen.

Beim näheren Betrachten auf dem Server fällt folgendes auf :

Neue Dateien werden, wie durch smb.conf vorgeschrieben, mit -rwxrwxr-x (0775) korrekt angelegt. Sie gehören Heinz und der Gruppe ha1. Sobald jedoch Susi die Datei ändert und abspeichert passiert folgendes :

- Die Datei gehört ab sofort nun Susi ( Was ja nicht sooo schlimm wäre )
- Die Datei hat nun die Permissions : -rwx-r-xr-x also (0755) :shock: :?:

MS-Word (auch MS-Excel !) fummelt an den Dateirechten rum. OpenOffice, PaintShop Pro, UltraEdit, etc ... alle legen korrekt ihre Dateien mit 0775 ab und die Rechte bleiben auch nach einem erneuten Speichern auf 0775. Es ändert sich manchmal die uid, aber das juckt nicht. Auf einem anderen Samba (3.0.2) lässt MS-Word die Rechte in ruhe.

Nur die *argl* MS-Produkte verbiegen mir die Gruppenrechte.

Was ist da los ? Wer kennt dieses Phänomen ???
 

Frankie777

Advanced Hacker
Das ist ja fast schon ein Klassiker:
http://gertranssmb3.berlios.de/output/AccessControls.html#id2540301

Bei Office 2003 ist mir dieses Problem so nicht bewußt.

Hast Du evtl. ein altes Office?

PS: Mit security mode/mask evtl. noch Vorkehrungen treffen das die Benutzer nicht an den ACLs rumfummeln
 
OP
S

sisko

Newbie
Das Word ist brandneu und alle Updates sind eingespielt.
Dass Word und andere Kandidaten an der User-ID rumbasteln ... kenn ich. Das wäre nicht das Problem.
Nun wird aber die GID der betroffenen Datei manipuliert und das brutal an den Anweisungen der smb.conf vorbei :
Code:
        create mask = 0775
        force create mode = 0775
        directory mask = 0775
        force directory mode = 0775

Hier der Werdegang eines Word-Dokuments, den ich beobachten konnte :

Das leere Directory :
Code:
linux00:/srv/samba/linux00/cinema4d/test # dir
total 0
drwxrwxr-x  2 heinz     cinema4d  6 Mar 23 07:59 .
drwxrwxr-x  4 root      cinema4d 33 Mar 23 07:59 ..
linux00:/srv/samba/linux00/cinema4d/test #

Jetzt mit der rechten Maustaste ein neues Word-Dokument erstellt :
Man beachte, dass die Dateirechte korrekt auf 0775 stehen !
Code:
linux00:/srv/samba/linux00/cinema4d/test # dir
total 0
drwxrwxr-x  2 heinz     cinema4d    44 Mar 23 08:02 .
drwxrwxr-x  4 root      cinema4d    33 Mar 23 07:59 ..
-rwxrwxr-x  1 heinz     cinema4d 10752 Mar 23 08:02 Neu Microsoft Word-Dokument.doc
linux00:/srv/samba/linux00/cinema4d/test #

So, nun die Datei mit Word geöffnet und etwas reingetippt:
Auch hier wird die temporäre Datei mit den korrekten Rechten 0770 erstellt !
Code:
linux00:/srv/samba/linux00/cinema4d/test # dir
total 12
drwxrwxr-x  2 heinz     cinema4d    82 Mar 23 08:04 .
drwxrwxr-x  4 root      cinema4d    33 Mar 23 07:59 ..
-rwxrwxr-x  1 heinz     cinema4d 10752 Mar 23 08:02 Neu Microsoft Word-Dokument.doc
-rwxrwxr-x  1 heinz     cinema4d   162 Mar 23 08:04 ~$u Microsoft Word-Dokument.doc
linux00:/srv/samba/linux00/cinema4d/test #

Jetzt kommts :

Nun wurde die geänderte Datei abgespeichert, Word ist noch offen :
Bitte die Dateirechte der eigentlichen Word-Datei nun beachten : 0755 !
Die Rechter der temporären Datei sind nach wie vor auf 0775 !

Code:
linux00:/srv/samba/linux00/cinema4d/test # dir
total 128
drwxrwxr-x  2 heinz     cinema4d    82 Mar 23 08:08 .
drwxrwxr-x  4 root      cinema4d    33 Mar 23 07:59 ..
-rwxr-xr-x  1 heinz     cinema4d 19968 Mar 23  2006 Neu Microsoft Word-Dokument.doc
-rwxrwxr-x  1 heinz     cinema4d   162 Mar 23 08:04 ~$u Microsoft Word-Dokument.doc
linux00:/srv/samba/linux00/cinema4d/test #

Jetzt wurde Word geschlossen und dies ist nun übrig :
Eine Datei, die für die Gruppe schreibgeschützt ist.
Code:
linux00:/srv/samba/linux00/cinema4d/test # dir
total 20
drwxrwxr-x  2 heinz     cinema4d    44 Mar 23 08:16 .
drwxrwxr-x  4 root      cinema4d    33 Mar 23 07:59 ..
-rwxr-xr-x  1 heinz     cinema4d 19968 Mar 23 08:13 Neu Microsoft Word-Dokument.doc
linux00:/srv/samba/linux00/cinema4d/test #

Bisheriges Fazit :

Dieses Verhalten ist unabhängig davon, ob der Zielort auf dem lokalen Filesystem liegt, oder ob das Verzeichnis über NFS (/srv/ ist auf dem betroffenen Server eine NFS-Share auf einem open-e NAS-System) eingehängt ist. Auf einem 2. Server (Samba 3.0.2) ist dieses Verhalten nicht nachvollziehbar. Dort gibt es keine Veränderungen an der GID einer Datei nach dem Zugriff mit Word.
 

Frankie777

Advanced Hacker
Hi,

ich habe für ein Share die gleichen Einstellungen wie Du.
force group, force mask, etc.
Mit Office 2003 mit aktuellen SP keine Probleme.

samba-3.0.21c voher b.
Die 20er hatte ich nicht, evtl. probierst Du mal ein Update.
 
OP
S

sisko

Newbie
Yo, das Update hab ich mittlerweile auf 2 Testinstallationen getestet und der Fehler ist weg. Phew !
Es liegt eindeutig an der 3.0.20, die bei der Suse dabei ist. Mit den 3.0.21c-Binaries für die Suse10 von samba.org klappt es nun.

Ich werde es morgen im Livebetrieb sehen, ob es nun endgültig klappt.
 
Oben