CHMOD mettre les droits utilisateurs sur un fichier

Nous allons nous pencher sur la gestion de droits sur les fichiers et répertoires sous Linux et plus particulièrement sur les commandes CHMOD, UMASK, CHOWN, CHGRP.

Lorsque vous faites un listage long, commande ls -l, vous obtenez un résultat de ce type :


$ ls -l
total 72
-rwxr--r-- 1 blag ftp 65536 Nov 2 19:10 ex030804.sh
drwxr-xr-x 2 root root 4096 Nov 2 19:10 temp/

En première lettre vous avez :

un – : lorsque c’est un fichier normal
un d : lorsque c’est un répertoire
un l : lorsque c’est un lien

Les lettres suivantes concernent les protections, elles sont de trois types possibles :

r : lecture (read)
w : écriture (write)
x : exécution (execute)

et sont attribuables pour l’utilisateur, le groupe et les autres.

Si nous reprenons le résultat du « ls -l » précédent :

– nous avons un fichier ex030804.sh sur lequel l’utilisateur blag (du groupe ftp) a les droits de lecture, écriture, exécution, le groupe ftp peut y accéder en lecture tout comme les autres utilisateurs.

– nous avons un répertoire temp/ sur lequel l’utilisateur root possède tous les droits et ne laisse aux autres que la possibilité de le lister.

Lorsqu’on crée ou modifie un fichier, ce dernier se voit attribuer les protections par défaut définies dans les fichiers d’initialisation de l’utilisateur (.profile ou autres). La commande umask affiche les valeurs courantes de votre masque (bloc de 3 chiffres).


$ umask
022

Les 3 chiffres sont une représentation en base 8 des protections de fichiers :

0 : lecture et écriture (et exécution si répertoire)
1 : lecture et écriture
2 : lecture (et exécution si répertoire)
3 : lecture
4 : écriture (et exécution si répertoire)
5 : écriture
6 : exécution
7 : aucune permission

Si nous reprenons le résultat du « umask » précédent :

l’utilisateur possède les droits d’accès en lecture et écriture (0) aux fichiers qu’il crée, le groupe un droit d’accès en lecture (2) ainsi que les autres utilisateurs (2) soit le ls -l donnera rx-r-r–

Pour attribuer les droits désirés sur un fichier donné nous utiliserons la commande chmod.

Un cas concret : pour donner les droits rwxr–r– à un fichier, on représente cela avec des 0 et des 1 nous avons 111100100 et on pose une codification base 8 :

000 -> 0 (pas d’accès —)
001 -> 1 (exécution –x)
010 -> 2 (modification -w-)
011 -> 3
100 -> 4 (lecture r–)
101 -> 5
110 -> 6
111 -> 7 (full droits rwx)

donc pour avoir rwxr–r– on fera un chmod 744 nom_fichier
pour avoir rwxrwxrwx (full droits pour tout le monde) on fera un chmod 777 nom_fichier

A noter :

La commande chown permet de modifier le propriétaire d’un fichier, il faut bien entendu être le propriétaire de ce fichier ou le superutilisateur : chown nom_utilisateur nom_fichier

La commande chgrp permet de modifier le groupe d’un fichier, il faut bien entendu appartenir à ce groupe : chgrp nom_utilisateur nom_fichier

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *