attribution des autorisations d'écriture à un groupe dans un dossier


34

Comment puis-je accorder une permission d'écriture à 1 groupe?
J'ai 2 utilisateurs ( alexet ben).
alexest membre du groupe alexet du groupe consult.
benest membre du groupe benet du groupe consult.

Je veux accorder un accès en lecture-écriture à la fois alexet bensur le dossier consult_documents.

Si je fais alexle propriétaire du répertoire consult_documentset j'accorde l' 775accès au répertoire consult_documents, benet alexsera en mesure d'accéder au dossier, je pense.

Mais cela permettra-t-il également l' benaccès aux alexautres dossiers? Si un utilisateur est dans deux groupes, cela signifie-t-il que tous les membres des deux groupes obtiennent les mêmes autorisations sur tous les dossiers?


Voulez-vous que alex et ben soient capables de créer des fichiers dans consult_documents et de leur permettre un accès en lecture / écriture sur ces documents?
X Tian

Réponses:


42

L'octroi d'autorisations 775 sur un répertoire ne signifie pas automatiquement que tous les utilisateurs d'un groupe donné y auront rwxaccès. Ils doivent être soit le propriétaire du répertoire, soit appartenir au groupe du répertoire:

$ ls -ld some_dir
drwxrwxr-x 2 alex consult 4096 Feb 20 10:10 some_dir/
              ^     ^
              |     |_____ directory's group
              |___________ directory's owner

Donc, pour permettre à alex et à ben d'avoir un accès en écriture sur some_dir, le some_dirrépertoire lui-même doit appartenir au consultgroupe. Si ce n'est pas le cas, le propriétaire du répertoire (alex dans votre exemple) doit lancer la commande suivante:

$ chgrp consult some_dir/

ou pour changer la propriété du groupe de tout ce qui se trouve dans le répertoire:

$ chgrp -R consult some_dir/

Cela ne fonctionnera que si alex est membre du consultgroupe, ce qui semble être le cas dans votre exemple.

Cela ne permettra pas à ben d'accéder à tous les répertoires de alex pour deux raisons:

  1. Tous les répertoires de alex n'appartiendront pas au consultgroupe
  2. Certains des répertoires d’alex peuvent appartenir au consultgroupe, mais alex n’a peut-être pas choisi d’autoriser leur rwxaccès au groupe.

En bref, la réponse dépend à la fois de la propriété du groupe et des bits d’autorisation de groupe définis pour le répertoire.

Tout cela, à condition que vous n'utilisiez aucune mesure supplémentaire de contrôle d'accès obligatoire sur votre système.


consult_documents est un répertoire, alors comment pouvez-vous le spécifier en tant que groupe?
Babin Lonston

@ Babinlonston Vous ne pouvez pas. Vous spécifiez en consulttant que groupe.
Joseph R.

Merci, je cherchais comment donner accès à un répertoire à un groupe. Je ne savais pas que la commande chgrp pouvait le faire. Je pensais que chgrp consistait uniquement à ajouter / supprimer des utilisateurs à un groupe.
Anatak

1
@anatak La modification de l'appartenance à un groupe se fait via usermodnotchgrp
Joseph R.

Est-ce la même chose que chown -R :consult some_dir/?
Aaron Franke

7

Cela fera alex et ben se colabrer dans ce répertoire, et ils ne peuvent pas collaborer dans un autre répertoire.

Modifier le groupe d'utilisateurs à l'aide de

# usermod -a -G alex,ben alex

Puis changez la permission pour le dossier

# chown alex:ben consult_documents

Vérifiez ici je l'ai travaillé autour

$ sudo usermod -a -G alex,ben alex

$ sudo chown alex:ben consult_documents/

cd consult_documents/

$ touch babin

drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin

$ su - ben

cd /home/alex/consult_documents/

ben@system99:/home/alex/consult_documents$ touch babin1
ben@system99:/home/alex/consult_documents$ ls -la
total 8
drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin
-rw-rw-r-- 1 ben  ben     0 Feb 20 15:19 babin1
ben@system99:/home/alex/consult_documents$

Regardez ici


6

Si j'ai bien compris votre question, la réponse est oui.

Laissez-moi expliquer:

Vos droits d'accès aux dossiers et aux fichiers sont divisés en trois catégories:

xxxyyyzzz
xxx are access rights for the owner
yyy are access rights for the owner's group
zzz are the access rights for everyone else

Chaque fichier et dossier doit appartenir à un utilisateur.

Ce qui signifie que si vous avez un dossier nommé consult_documents et que vous voulez qu'il soit accessible à tous les membres du groupe Consult, vous aurez ceci (avec 755 droits d'accès):

drwxrwxr-x Alex Consult [......]

Le répertoire appartient à Alex et le groupe s'appelle Consult. Alex a les droits d'accès RWX dessus. Group Consult dispose des droits d’accès RWX. Les autres utilisateurs ont des droits RX.

Comme votre utilisateur Alex a plusieurs groupes, vous pouvez choisir le groupe avec lequel partager.

Par exemple, si votre dossier appartient à Alex du groupe Alex:

drwxrwxr-x Alex Alex [......]

Fais le:

chown Alex:Consult your_folder

Il deviendra:

drwxrwxr-x Alex Consult [......]

Et puis le répertoire est disponible pour le groupe Consult.

Veuillez noter que, autant que je sache, vous pouvez ajouter un groupe autre que celui du propriétaire. Mais je ne sais pas si cela est recommandé (pas clair lors de la lecture des droits d'accès).


3

setfacl -mg: transmission debian: rwx -R / mnt / sra

Vous avez trouvé cette commande bien, au lieu de chown qui changera complètement le propriétaire du fichier ou du répertoire!

Vous verrez sur un 'ls -Al' qu'un signe + sera ajouté pour indiquer qu'il y a plus d'un propriétaire!

drwxr-xr-x 2 racine racine 4096 8 nov. 19:11 sdc1 /

drwxrwxr-x + 3 racine racine 4096 17 fév. 19:16 sra /

Et ensuite, vous pouvez utiliser getfacl pour voir qui peut écrire ou lire le fichier ou le répertoire!

# fichier: sra

# propriétaire: racine

# groupe: utilisateur root :: rwx

groupe :: rx

groupe: debian-transmission: rwx

masque :: rwx

autre :: rx

défaut: utilisateur :: rwx

défaut: groupe :: rx

défaut: groupe: debian-transmission: rwx

défaut: masque :: rwx

défaut: autre :: rx

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.