web-dev-qa-db-fra.com

L'autorisation sur le dossier partagé est correcte mais les fichiers ne peuvent pas être sauvegardés

J'ai un dossier partagé configuré sur une machine Ubuntu. Lorsque quelqu'un se connecte au dossier et crée un fichier, les autorisations de fichier définissent le groupe en lecture/écriture. Je peux vérifier l'autorisation sur Ubuntu ou Windows et ils indiquent tous les deux que le groupe dispose d'une autorisation de lecture/écriture.

Le problème survient lorsqu'un utilisateur tente de modifier un fichier créé par un autre utilisateur. Par exemple, utilisateur1 crée un document texte. Si l'utilisateur 2 se connecte au dossier partagé, il peut ouvrir le document texte. Cependant, lorsqu'il tente de sauvegarder le fichier, il y a une erreur indiquant qu'il n'a pas la permission. Chaque utilisateur fait également partie du même groupe.

Mon ajout au fichier samba.conf ressemble à ceci:

[foldername]
    page = /home/path/to/directory
    writeable = yes
    browseable = yes
    read only = no
    valid users = user1, user2, user3, user4
6
user715564

Une autre solution possible consiste à définir le bit "setgid" sur votre répertoire partagé. Cela signifie que tous les fichiers/répertoires créés dans le répertoire partagé appartiendront automatiquement au groupe. Comme ça:

chmod g+s <directory name>

Vous devrez peut-être aussi le faire sur les sous-répertoires existants. À l'avenir, lorsque de nouveaux répertoires seront créés, le bit setgid sera automatiquement activé pour eux.

1
Alex D

Je viens de le tester selon ce simple tutoriel ("quick 'n dirty") et je pense que cela ne peut pas manquer, cela fonctionne parfaitement pour tous les utilisateurs (j'ai essayé). La clé est

   create mask = 0777
   directory mask = 0777

... qui se chargera des autorisations comme vous le souhaitez.

0
Jacob Vlijm