Comment modifier les autorisations sur un répertoire

9

J'utilise CentOS et j'aimerais savoir comment modifier les autorisations sur un dossier contenant plusieurs fichiers.

J'ai utilisé les commandes suivantes sur le dossier en tant que root (Disons dossier = A):

chmod 777 (home / répertoire / A)

chmod g + r (A)

Si je vois le dossier en tant qu'utilisateur normal, à l'aide du gestionnaire de fichiers, l'icône de verrouillage n'est pas visible, ce qui indique que les autorisations ont été accordées? cependant, tous les fichiers du dossier A affichent toujours une icône de verrouillage indiquant que seul le dossier A a reçu l'autorisation et aucun des sous-répertoires qu'il contient.

Il s'avérera être une tâche assez laborieuse d'exécuter les commandes mentionnées ci-dessus sur tous les sous-répertoires car il y en a tout simplement trop.

Merci!

Linux NewB
la source

Réponses:

15

Afin de définir des autorisations sur le dossier et tous les sous-dossiers / fichiers, vous devez utiliser l'option récursive dans votre commande:

chmod 777 -R /path/to/directory

Pour plus d'informations sur l'utilisation de chmod, veuillez consulter ici .

MISE À JOUR:

Avertissement: L'utilisation de chmod 777 rendra votre dossier exécutable par tout le monde. Veuillez voir ci-dessous pour un aperçu du réglage

Vos autorisations sont définies à l'aide de trois chiffres.

les 100 sont pour le propriétaire du fichier
400 lire
200 écrire
100 exécuter

10 sont pour le groupe du fichier
40 lire
20 écrire
10 exécuter

1 est pour tout le monde
4 lire
2 écrire
1 exécuter

Dans votre exemple, vous donnez au propriétaire, au groupe et à tous les droits complets sur votre fichier. Si, par exemple, vous souhaitez accorder au propriétaire et au groupe des autorisations complètes, mais que tout le monde ne lit et n'exécute que les autorisations, vous utiliserez 775.

Si vous souhaitez utiliser la représentation des lettres au lieu des chiffres, veuillez voir ici

Matthew Williams
la source
Merci! Matthew pour avoir résolu le problème et fourni un lien informatif, qui vient d'être mis en signet :-)
Linux NewB
Si vous avez trouvé cela utile, veuillez marquer comme réponse.
Gaurav Joseph
cela ne rendra-t-il pas tous les fichiers du dossier exécutables?
stib
Oui, ce sera le cas, mais d'après sa question, je suppose que c'est ce qu'il veut. Le lien que j'ai fourni l'aidera avec ses autorisations. Puisque vous en parlez, je mettrai à jour ma réponse pour y inclure un regard.
Matthew Williams
1

Vous pouvez utiliser chmod pour modifier les bits d'autorisation. L'option -R est pour récursivement - utilisée pour les répertoires. Les bits sont expliqués comme rwx c'est-à-dire lecture, écriture et exécutable. Si r = 1, w = 1 et x = 1. Le binaire 111 signifie 7 en décimal. Ainsi, vous voyez 7. Maintenant, les champs sont décidés comme u = utilisateur, groupe et autres. Donc, si vous voulez donner la permission à tout le monde, alors vous faites chmod -R 777 dir_name. En outre, vous pouvez dire chmod -R a + rwx dir ou si vous souhaitez supprimer une autorisation, vous pouvez dire que chmod -R ax dir - c'est pour supprimer l'autorisation exécutable.

Aussi, vous pouvez faire man sur chmod pour en savoir plus de détails.

agile
la source