Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/09/2019, à 13:23

Tinou44

[Résolu] Droits par défaut sur UN répertoire spécifique

Bonjour,
J'ai deux utilisateurs avec leur /home respectif sur un premier disque. J'ai un deuxième disque dur, réservé pour l'usage commun, monté sur /Commun . Les deux utilisateurs font partie du même groupe "famille". Le répertoire Commun appartient au groupe famille. J'aimerais que, dès qu'un utilisateur créé un fichier dans /Commun, le fichier ait les droits rwxrwxr-x . J'ai fait en sorte que chaque nouveau fichier ou répertoire appartienne bien au groupe famille mais je n'arrive pas à mettre le droit "write" pour le groupe. Je n'ai que rwxr-xr-x .
J'ai regardé du côté de umask. Si je le mets au niveau du shell de chacun des utilisateurs, il va s'appliquer à TOUS les répertoires et fichiers. Ce n'est pas ce que je veux, je le souhaite que dans le répertoire /Commun. J'ai essayé en appliquant une option "umask=0002" aux options de montage du disque Commun mais cela ne s'applique que pour les systèmes de fichiers non reconnu (type NTFS) et pas pour le ext4. J'ai un message d'erreur.
Faut-il obligatoirement passer par les ACL?

merci d'avance

Dernière modification par Tinou44 (Le 30/09/2019, à 14:04)

Hors ligne

#2 Le 28/09/2019, à 14:26

bruno

Re : [Résolu] Droits par défaut sur UN répertoire spécifique

Bonjour,

Tout d'abord tes fichiers n'ont pas à avoir systématiquement un droit d'exécution (x).

Pour obtenir ce que tu veux le mieux est de faire en sorte que tes utilisateurs aient famille comme groupe principal. Par défaut, avec Ubuntu le groupe principal d'un utilisateur toto est : toto. Pour modifier cela en famille :

sudo usermod -g famille toto

Ainsi les fichiers créés par toto seront (avec le umask par défaut d'Ubuntu) :

-rw-rw-r--   toto famille 

et les dossiers seront :

drwxrwxr-x  toto famille 

Attention ce sera le cas pour tous les fichiers créés par toto, y compris dans son dossier personnel.

Une autre solution consiste à appliquer le SGID sur le dossier /Commun :

sudo chmod g+s /Commun

Si le dossier /Commun appartient au groupe famille, tou fichier créé à l'interieur appartiendra aussi à ce groupe. Attention : ce ne sera pas le cas pour les fichiers copiés ou déplacés mais uniquement pour ceux créés.

Une dernière solution, plus complexe consiste à utiliser les acl.

#3 Le 28/09/2019, à 16:57

Tinou44

Re : [Résolu] Droits par défaut sur UN répertoire spécifique

Merci pour la réponse. Je n'ai pas dû être claire car j'ai déjà fait ce que tu proposes. J'ai mis les deux utilisateurs avec le groupe principal famille. C'est le résultat que j'indique "J'ai fait en sorte que chaque nouveau fichier ou répertoire appartienne bien au groupe famille " c'est la conséquence du groupe principal "famille". Mais avec le umask par défaut, les nouveaux répertoires sont en rwxr-xr-x , et les fichiers en rw-r--r-- 

Si j'ai bien compris le fonctionnement de umask, si je le change, je vais changer les droits dans tous les répertoires/fichiers nouvellement créés, quelque soit l'endroit où je les créé, dans /Commun ou ailleurs? Et comme les deux utilisateurs sont dans le même groupe, de facto j'ouvre aussi les droits sur les répertoires utilisateurs. Or ce n'est pas ce que je souhaite (même si ce ne serait pas dramatique).

Je crois que je vais regarder les ACL.

Merci.

ps:effectivement je n'ai pas besoin du x

Hors ligne

#4 Le 28/09/2019, à 20:06

bruno

Re : [Résolu] Droits par défaut sur UN répertoire spécifique

Effectivement il faut que tu mettes un umask par défaut à 002 (ce qui ne change rien pour les utilisateurs ayant le même uid et gid) dans /etc/login.defs

Dernière modification par bruno (Le 30/09/2019, à 14:28)

#5 Le 30/09/2019, à 14:02

Tinou44

Re : [Résolu] Droits par défaut sur UN répertoire spécifique

Bonjour,
Pour répondre à mon besoin, il a fallu passer par les ACL. Pour les mettre en place je renvoie à la doc suivante:https://doc.ubuntu-fr.org/acl

Je récapitule. J'ai deux utilisateurs user1 et user2, qui sont dans le même groupe principal famille. je souhaite que les deux utilisateurs aient les droits de lecture et d'écriture dans le répertoire /commun, et cela par défaut pour qu'ils puissent créer/supprimer fichiers ou répertoires dans toute l'arborescence. Ce n'est pas le fonctionnement par défaut de linux.

Etape1:  mettre le groupe famille comme groupe principal pour les deux utilisateurs . Cela permet que tout nouveau fichier ou répertoire créé par un des utilisateurs appartienne systématiquement au groupe famille, quelque soit l'endroit où il est créé (dans le répertoire /commun, /home/user1...)
En général cela se fait via les menus graphiques utilisateurs/groupes, paramètres avancés.

Etape2: utiliser les ACL ouvrir les droits en lecture /ecriture par défaut au groupe famille sur le répertoire /commun et uniquement pour celui-là (ce que ne permet pas l'umask) Voir le lien ci-dessus pour la mise en place des ACL. Ensuite cela se fait avec la commande setfacl (set file acl)
$ sudo setfacl -m d:g:famille /commun

-m : modifie
d : par défaut , donc pour tous les nouveaux fichiers/repertoires créés dans /commun
g:famille s'applique au groupe famille

Dernière modification par Tinou44 (Le 30/09/2019, à 14:03)

Hors ligne