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
Pour résoudre le problème, vous pouvez ajouter le force user
nom d'utilisateur à la liste de valid users
pour le partage.
Dans ton cas:
[Myshare]
...
valid users = @bureau
...
devrait être:
[Myshare]
...
valid users = nobody @bureau
...
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
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.
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
.