Donnez à l'utilisateur la permission d'écrire dans un dossier en utilisant la notation + w

155

Je sais que je peux attribuer la permission d'écrire à un propriétaire / groupe / autres comme ceci:

chmod u+w myfolder

Puis-je spécifier l'utilisateur spécifique ici? Certains aiment ça:

chmod username u+w myfolder
Maxim Koretskyi
la source
Je ne pense pas que ce soit possible. Pourquoi ne pas simplement ajouter l'utilisateur au groupe?
Emil

Réponses:

159

Si vous souhaitez modifier l'utilisateur propriétaire de ce fichier ou de ce répertoire (dossier), vous devrez utiliser la commande chown. Par exemple, si vous courez

sudo chown username: myfolder

L'utilisateur possédant myfolder sera username. Ensuite, vous pouvez exécuter

sudo chmod u+w myfolder

pour ajouter l'autorisation d'écriture à l'utilisateur nom d'utilisateur.

Mais si vous souhaitez ajouter cet utilisateur au groupe associé à "myfolder", vous pouvez exécuter

sudo usermod -a -G groupname username

et ensuite exécuter

sudo chmod g+w myfolder

pour ajouter l'autorisation d'écriture au groupe.

Charo
la source
Il existe un moyen par lequel les deux utilisateurs auront accès au dossier, et un groupe n'est pas nécessaire; cela a été suggéré dans une réponse à la même question ici: superuser.com/a/235398/191720.
Luan Nico
Puis-je faire cela sans sudo?
Becko le
1
@becko: Vous pouvez le faire si vous passez à un shell racine.
Charo
1
@ Charo je voulais dire sans racine
becko
1
@AER: Dans la première commande, si deux points suivent, usernamele groupe propriétaire est également remplacé par username(si vous l'omettez, le groupe propriétaire ne changera pas).
Charo
192

Vous pouvez utiliser setfacl:

setfacl -m u:username:rwx myfolder

Cela définit des autorisations pour des utilisateurs spécifiques, sans changer la propriété de l'annuaire.

Consultez la page de manuel pour plus de détails et d’exemples.

utilisateur3689208
la source
8
Réponse parfaite! Est également setfacldisponible sur CentOS ( yum -y install acl) et FreeBSD.
Viet
7
juste une remarque: setfacl = set Fichier ACL, ACL = liste de contrôle d'accès, donc pour "setFacl" - un moyen plus simple de se souvenir, je pense.
Yawar Murtaza
12
Si vous souhaitez l'appliquer de manière récursive à tous les sous-répertoires: ajoutez le drapeau -R comme ceci:setfacl -R -m u:username:rwx myfolder
Jose A
meilleure façon de donner la permission à un nouvel utilisateur
Rajesh Mbm
1
Existe-t-il un moyen d'accorder à un utilisateur rwsans modifier aucune xautorisation existante , si elle fonctionne sur plusieurs fichiers ou de manière récursive?
Fan Qi
8

Non, ce n'est pas possible. Vous pouvez soit changer le propriétaire du fichier avec

[sudo] chown username: foldername

ou vous pouvez ajouter l'utilisateur au groupe qui possède le fichier avec

usermod -a -G {group-name} username
Pabi
la source
useradd -G {group-name} usernameme dit que le nom d'utilisateur existe déjà
Erdal G.
J'ai essayé cela, mais mon utilisateur ne peut toujours pas écrire dans ce dossier
Sonic Soul