web-dev-qa-db-fra.com

Comment obtenir une permission d'écriture de groupe avec Samba 4?

J'ai un serveur de partage Samba sous Ubuntu. Après la mise à niveau vers 14.04, Samba a été mis à niveau de 3 à 4. Depuis, je ne peux plus obtenir d’autorisation d’écriture de groupe sur mon répertoire ou mes fichiers nouvellement créés.

Ce qui fonctionnait auparavant dans Samba3 utilisait ces paramètres:

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

Ces paramètres ont été supprimés dans Samba 4 (voir https://wiki.samba.org/index.php/Samba_4.0_Features_added/changed#smb.conf_changes ).

Mais maintenant, mes répertoires sont créés "drwxr-x --- 2 utilisateurs de domaine nobody" et mes nouveaux fichiers "-rwxr-x --- 1 personne d'utilisateurs de domaine".

Alors, comment Samba 4 permet-il à mes utilisateurs de créer et de partager avec de nouvelles autorisations de création de nouveaux répertoires et fichiers?

Voici ma configuration complète de samba:

[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

Pour résoudre le problème, vous pouvez ajouter le force usernom d'utilisateur à la liste de valid users pour le partage.

Dans ton cas:

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

devrait être:

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

Je sais que c'est un vieux fil, mais cela pourrait aider quelqu'un. J'ai résolu ce problème en définissant le bit setgid sur 2 (au lieu de 0) afin que les répertoires/fichiers soient créés avec des autorisations d'écriture de groupe, par exemple.

force create mode = 2777 force directory mode = 2777

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

1
ededed

Ce même problème m'est arrivé.

J'ai dû mettre à jour les listes de contrôle d'accès de tous les répertoires avec les autorisations de groupe par défaut:

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 est le répertoire (et les sous-répertoires) à modifier.

1
Scott Lentz

Les quatre premiers paramètres ont été supprimés, pas les deux derniers (voir: https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html#FORCEUSER ) .

Donc, il suffit de les remettre dans le fichier de configuration et cela devrait résoudre le problème. Si vous souhaitez écrire des autorisations pour les utilisateurs d'un groupe particulier, ajoutez le paramètre write list. Il offre la possibilité d'accorder des autorisations d'écriture à des utilisateurs ou à des groupes spécifiques.

Voici un exemple de configuration que j'utilise pour permettre la création/modification de fichiers à tous les utilisateurs appartenant à un groupe spécifique (et uniquement à ces utilisateurs):

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

0
Marc Vanhoomissen