TUTOS.EU

Mettre en place des droits avec la commande chmod sous Linux

Comment donner des droits sur un répertoire ou un fichier sous Linux avec la commande chmod

Pour commencer, sachez que pour afficher les droits en place sur un fichier ou un répertoire, la ligne de commande est

ls -l
Lien vers le fichier : cliquez ici Copier le code

Voici la signification de la première lettre :

Symbole Signification
- fichier
d répertoire
l lien

Exemple :

Les droits sur un répertoire ou fichier sous Linux peuvent se donner avec une série de 3 chiffres.
Exemple : 750

Chaque chiffre désigne un utilisateur ou ensemble d'utilisateurs donné, à savoir :

1er chiffre 2nd chiffre 3ème chiffre
Le propriétaire du fichier (u) Le groupe propriétaire du fichier (g) Les autres, other, le reste du monde (o)

Chaque chiffre va de 0 à 7.
0 veut dire que l'on a aucun droit
7 veut dire que l'on a tous les droits.

En fait, 7 est la somme de 3 bits : 1 + 2 + 4

Voici leur signification :

Chiffre Droits
4 droit de lecture
2 droit d'écriture
1 droit d'exécution
0 aucun droit

ainsi

chmod -R 777 /monrep
Lien vers le fichier : cliquez ici Copier le code

équivaut à donner tous les droits sur /monrep au propriétaire, au groupe et aux autres

Et cette commande :

chmod -R 750 /monrep
Lien vers le fichier : cliquez ici Copier le code

équivaut à donner tous les droits au propriétaire, les droits de lecture et exécution au groupe, aucun droit pour les autres.

Si vous voulez donner tous les droits à tout le monde sur le répertoire actuel, faites

chmod 777 .
Lien vers le fichier : cliquez ici Copier le code

Notez qu'en général un répertoire standard possède les droits 755, comme /usr/share ou encore /etc/init.d,
cad que le propriétaire a tous les droits, le groupe et les autres peuvent lire et exécuter, par écrire ou modifier

Un répertoire protégé comme /usr/share/easy-rsa/keys aura les droits 700,
cad que le propriétaire a tous les droits, le groupe et les autres : rien

Pour voir les droits d'un fichier sous sa forme octal, on peut utiliser cette commande

stat
Lien vers le fichier : cliquez ici Copier le code

Exemple avec un fichier index.html

Si vous ne voulez pas vous casser la tête avec le calcul du bon octal à mettre en place pour vos droits.
Il vous faudra d'abord désigner à qui vous voulez modifier les droits, à savoir :

Lettre Description
u Utilisateur/Propriétaire du fichier
g Groupe propriétaire du fichier
o Other : tous les autres

Ensuite, indiquez ce que vous voulez faire :

Action Description
+ Ajoute une permission
- Enlève une permission
= Donner strictement les droits indiqués

Enfin indiquez le type de droit

Droit Description
r Lecture
w Ecriture
x Execution

Exemple :
Donner le droit de lecture et d'exécution à tout le monde sur le répertoire
/usr/share/openvpn/keys

chmod o+rx /usr/share/openvpn/keys
Lien vers le fichier : cliquez ici Copier le code

Retirer ces même droits et montrer les modifications

chmod o-rx -c /usr/share/openvpn/keys
Lien vers le fichier : cliquez ici Copier le code

Donner les droits de lecture à tout le monde sur le répertoire, ainsi qu'à ses sous-répertoires et ses fichiers :

chmod o+r -R /usr/share/openvpn/keys
Lien vers le fichier : cliquez ici Copier le code

Retirer les droits de lecture à tout le monde sur tous les fichiers en .key du répertoire suivant :
/usr/share/openvpn/keys

Montrer également les modifications

chmod o-r -R -c /usr/share/openvpn/keys/*.key
Lien vers le fichier : cliquez ici Copier le code

Pour modifier le propriétaire et le groupe, utilisez chown ainsi

chown propriétaire:nomgroupe nom_fichier_ou_repertoire
Lien vers le fichier : cliquez ici Copier le code

Pages Web

Site WebDescription
Doc.ubuntu-fr.orgLes commandes de base en console linux

2