it-swarm.com.de

Wie erhalte ich mit Samba 4 eine Gruppenschreibberechtigung?

Ich habe einen Samba-Share-Server mit Ubuntu. Nach dem Upgrade auf 14.04 hatte ich Samba von 3 auf 4 upgraden lassen. Seitdem kann ich keine Gruppenschreibberechtigung für mein neu erstelltes Verzeichnis oder meine neu erstellten Dateien mehr erhalten.

Was zuvor in Samba3 funktionierte, verwendete diese Einstellungen:

security mask = 000
force security mode = 660
directory security mask = 000
force directory security mode = 770
force user = nobody
force group = Domain Users

Diese Einstellungen wurden in Samba 4 entfernt (siehe https://wiki.samba.org/index.php/Samba_4.0_Features_added/changed#smb.conf_changes ).

Aber jetzt werden meine Verzeichnisse "drwxr-x --- 2 nobody Domain Users" und meine neuen Dateien "-rwxr-x --- 1 nobody Domain Users" erstellt.

Wie können meine Benutzer in Samba 4 neue Verzeichnisse und Dateien erstellen und mit Schreibberechtigungen teilen?

Hier ist meine vollständige Samba-Konfiguration:

[global]
    workgroup = WORKGROUP
    server string = %h server (Samba, Ubuntu)
    interfaces = 127.0.0.0/8, eth0
    map to guest = Bad User
    obey pam restrictions = Yes
    passdb backend = ldapsam:ldap://ldap
    pam password change = Yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    syslog = 0
    log file = /var/log/samba/log.%m
    max log size = 1000
    load printers = No
    domain master = Yes
    dns proxy = No
    ldap admin dn = cn=root,dc=example,dc=com
    ldap group suffix = ou=Groups
    ldap idmap suffix = ou=Idmap
    ldap machine suffix = ou=Computers
    ldap passwd sync = yes
    ldap suffix = dc=example,dc=com
    ldap ssl = no
    ldap user suffix = ou=People
    usershare allow guests = Yes
    panic action = /usr/share/samba/panic-action %d
    idmap config * : backend = tdb

[CommonShare]
    comment = Common share
    path = /srv/samba/common
    valid users = @myusers
    read only = No
    create mask = 0660
    force create mode = 0770
    directory mask = 0770
    force directory mode = 0770
    inherit permissions = Yes
    inherit owner = Yes
2
alci

Um das Problem zu beheben, können Sie den force userBenutzername zur Liste von valid users für die Freigabe hinzufügen.

In deinem Fall:

[Myshare]
...
valid users = @bureau
...

sollte sein:

[Myshare]
...
valid users = nobody @bureau
...
2
Matg

Ich weiß, das ist ein alter Thread, aber das könnte jemandem helfen. Ich habe dieses Problem gelöst, indem ich das setgid -Bit auf 2 (anstelle von 0) gesetzt habe, damit die Verzeichnisse/Dateien mit Gruppenschreibberechtigungen erstellt werden, z.

force create mode = 2777 force directory mode = 2777

From: https://linuxconfig.org/how-to-use-special-permissions-the-setuid-setgid-and-sticky-bits#h7-the-setgid-bit

1
ededed

Das gleiche Problem ist mir passiert.

Ich musste die Zugriffssteuerungslisten aller Verzeichnisse mit den Standardgruppenberechtigungen aktualisieren:

Sudo setfacl -R -m d:g:family:rwx /mnt/backup

-R = recursive
-m = modify
d: = defaults
g: = group name ("family" in my case) or gid number
rwx = default permissions read write execute for all in group

/mnt/backup ist das zu ändernde Verzeichnis (und Unterverzeichnisse).

1
Scott Lentz

Die ersten vier Parameter wurden entfernt, nicht die letzten beiden (siehe: https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html#FORCEUSER ) .

Fügen Sie sie einfach wieder in die Konfigurationsdatei ein und das sollte das Problem lösen. Wenn Sie Benutzern in einer bestimmten Gruppe Schreibberechtigungen erteilen möchten, fügen Sie den Parameter write list hinzu. Es bietet die Möglichkeit, bestimmten Benutzern oder Gruppen Schreibberechtigungen zu erteilen.

Hier ist ein Beispiel für eine Konfiguration, die ich verwende, um das Erstellen/Ändern von Dateien für alle Benutzer zu ermöglichen, die einer bestimmten Gruppe angehören (und nur für diese Benutzer):

[Myshare] writeable = yes path = /shares/office force directory mode = 770 force create mode = 770 force group = bureau valid users = @bureau write list = @bureau.

0