GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ich kann Samba nicht dazu bringen, die richtigen Berechtigungen für erstellte Verzeichnisse festzulegen?

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.


Ubuntu
  1. Berechtigungen für SSH- und Home-Verzeichnisse?

  2. Holen Sie sich die erstellte Datei/Erstellungszeit??

  3. Berechtigungsproblem mit Symlinks über Samba?

  4. Der richtige Weg, um eine bestimmte Version des Pakets zu erhalten?

  5. Mysteriöse .directories im Home-Verzeichnis?

So erhalten Sie die Größe eines Verzeichnisses in Linux

So richten Sie Nginx-Serverblöcke unter Ubuntu 18.04 ein

So richten Sie virtuelle Apache-Hosts unter Ubuntu 20.04 ein

Wie richte ich den Verzeichnisdatenschutz in cPanel ein?

Eine große Änderung für Samba in Ubuntu 22.04 und wie man sie umgeht

Wie werden Standard-Dateiberechtigungen für alle Ordner/Dateien in einem Verzeichnis festgelegt?