Ich habe einen Ubuntu-Server, der einige Ordner mit Samba teilt. Wenn ein Client einen neuen Ordner oder eine neue Datei erstellt, werden die Berechtigungen nicht gemäß den Einstellungen in smb.conf gesetzt.
Meine aktuellen Einstellungen für eine bestimmte Freigabe:
[share]
path = /mnt/share
browsable = yes
guest ok = no
writable = yes
read only = no
create mask = 0774
directory mask = 0774
write list = netuser
Wenn ein Samba-Client (eine Windows 7-Box) das „netuser“-Konto verwendet, um eine Datei oder ein Verzeichnis zu erstellen, werden die Berechtigungen zu
drwxr-sr-- 2 netuser sambashare 4096 2012-01-22 21:14 New folder
-rwxrw-r-- 1 netuser sambashare 0 2012-01-22 21:07 New Text Document.txt
Das übergeordnete Verzeichnis hat das gesetzte Gruppen-ID-Flag, also den Eigentümer der Sambashare-Gruppe. Die Idee ist, dass sowohl Samba-Benutzer als auch Server-Benutzer zur Sambashare-Gruppe gehören und somit in der Lage sein sollen, Dateien und Verzeichnisse zu bearbeiten, zu löschen und zu erstellen. Da für erstellte Ordner jedoch kein Schreib-Flag für Gruppen gesetzt ist, können Serverbenutzer in diesen Ordnern keine neuen Dateien oder Ordner ohne sudo erstellen.
Ich habe das Hinzufügen und Entfernen der Verzeichnismaske, des erzwungenen Verzeichnismodus, des Verzeichnissicherheitsmodus und des erzwungenen Verzeichnissicherheitsmodus getestet, aber das Verhalten bleibt bestehen. Neu erstellte Dateien und Ordner erhalten nicht die beabsichtigte 774-Berechtigung, sondern 764 bzw. 754.
Was vermisse ich? Warum setzt Samba nicht die richtigen Berechtigungen?
Beste Antwort
Ich denke, Sie müssen die folgenden Parameter verwenden:
# I changes the permissions to rw-rw-r--
# You should be able to change them to 775 if you need the files to
# be executable
create mask = 664
force create mode = 664
security mask = 664
force security mode = 664
# I set the SGID flag here as I thought this is what you wanted
# You could change to 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775
Ich habe nach einer netten Erklärung gesucht, wie diese Einstellungen funktionieren, konnte aber nichts Besseres finden als man smb.conf
Für diese Optionen müssen Sie etwas nach unten scrollen.
Kurz gesagt, Windows-Berechtigungen sind nicht dasselbe wie Unix (Linux) und es ist ein bisschen seltsam, wie Samba Berechtigungen abbildet.