Autoriser un groupe à accéder en lecture-écriture à un répertoire

40

J'ai deux utilisateurs, user1 et user2, qui sont tous deux membres de groupA. utilisateur2 a un dossier dans leur répertoire de base appelé folderA. S'ils souhaitent autoriser des autorisations de lecture-écriture-exécution pour tous les membres du groupeA, comment procéderaient-ils?

Que se passe-t-il si folderA contient de nombreux fichiers et dossiers supplémentaires qui doivent également disposer de l'autorisation lecture-écriture-exécution?

Les informations concernant les groupes sont un peu "irrégulières" sur le Web. Je pose donc ma question dans l’espoir que quelqu'un publie une réponse claire qui puisse également aider les autres.

Merci!

WxPilot
la source

Réponses:

56

Le dossierA devra d'abord faire partie du groupeA - le propriétaire du dossier ou le root peut effectuer cette opération.

chgrp groupA ./folderA

Alors groupA aura besoin des permissions rwx du dossier

chmod g+rwx ./folderA

Il existe des options dans les commandes chgrp et chmod pour recurse dans le répertoire si nécessaire.

Charles Green
la source
remarque: vous devez vous assurer que vous pouvez également accéder à des répertoires intermédiaires (+ x peut être suffisant).
jfs
À l’origine, j’ai essayé chown :groupname ./folderet cela n’a pas fonctionné - car il a changé le groupe mais n’a donné aucune autorisation effective
user230910
3

Ma propre expérience dans ce domaine ici. Comment-à l' original . Testé sur Ubuntu 18.04.

Autoriser à écrire dans le dossier système

Donner l'autorisation d'écriture au /etc/nginx/dossier.

# Check 'webmasters' group doen't exist
cat /etc/group | grep webmasters
# Create 'webmasters' group
sudo addgroup webmasters
# Add users to 'webmasters' group
sudo usermod -a -G webmasters username
sudo usermod -a -G webmasters vozman
sudo usermod -a -G webmasters romanroskach

# Group assignment changes won't take effect
# until the users log out and back in.

# Create directory
sudo mkdir /etc/nginx/
# Check directory permissions
ls -al /etc | grep nginx
drwxr-xr-x   2 root root     4096 Dec  5 18:30 nginx

# Change group owner of the directory
sudo chgrp -R webmasters /etc/nginx/
# Check that the group owner is changed
ls -al /etc | grep nginx
drwxr-xr-x   2 root webmasters   4096 Dec  5 18:30 nginx

# Give write permission to the group
sudo chmod -R g+w /etc/nginx/
# Check
ls -al /etc | grep nginx
drwxrwxr-x   2 root webmasters   4096 Dec  5 18:30 nginx

# Try to create file
sudo -u username touch /etc/nginx/test.txt  # should work
sudo -u username touch /etc/test.txt  # Permission denied

Donner l'autorisation d'écriture au /etc/systemd/system/dossier.

# List ACLs
getfacl /etc/systemd/system

getfacl: Removing leading '/' from absolute path names
# file: etc/systemd/system
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

# Add 'webmasters' group to an ACL
sudo setfacl -m g:webmasters:rwx /etc/systemd/system

# Check
getfacl /etc/systemd/system

getfacl: Removing leading '/' from absolute path names
# file: etc/systemd/system
# owner: root
# group: root
user::rwx
group::r-x
group:webmasters:rwx
mask::rwx
other::r-x

sudo -u username touch /etc/systemd/system/test.txt  # should work
sudo -u username touch /etc/systemd/test.txt  # Permission denied
FooBar167
la source