Chapitre 4 : Droits d’Accès


Droits d'accès des répertoires

Les types d'accès ont des significations différentes selon que l'on accède à un fichier on à un répertoire.

Accès Fichier Répertoire
r lire le contenu du fichier afficher contenu du répertoire
w modifier le contenu du fichier ajouter et supprimer fichier
x lancer un fichier executable rendre le répertoire courant


Exemples :
Pour exécuter un script shell on a besoin des droits d'accès de le cuture (r) et d'execution (x). Pour exécuter un programme compilé on a besoin de droit d'accès (x).


Pour les répertoires, les permissions sont un peu spéciales. Pour pouvoir entrer dans un répertoire, il faut avoir le droit d'exécution. Le droit de lecture ne suffit pas à lui seul.

Exemple :
$ ls -ld Bin
drwxr-xr-x 7 user1           512 Jan 19 12:06 Bin


L'utilisateur « user1 » a tous les droits sur le répertoire courant. Les membres de son groupe et les autres peuvent le lire.

Les problèmes peuvent se cumuler. Par exemple, si vous essayez de copier un fichier dans un sous-répertoire (cp fic1 rep2/rep3/fic1), il faut que vous puissiez :


Modifier les droits d'accès

La commande chmod va permettre de changer les droits des fichiers/répertoires.

Spécification des modes d’accès numériques

chmod utilise le codage binaire, fondé sur l'association de valeurs numériques aux différentes permissions : lecture : 4, écriture : 2, exécution : 1, pas de permission : 0.

Chaque triplet se code par l'addition de 4, 2, 1, ou 0. Pour un rwx il faudra ajouter 4+2+1=7, pour r-x 4+0+1=5 etc. Donc les combinaisons vont de 0 (- aucun droit) à 7 (rwx tous les droits). Cela s'applique à chaque groupe triplet (propriétaire, groupe et autres).


droits

valeur octale

valeur binaire

---

0

000

--x

1

001

-w-

2

010

-wx

3

011

r--

4

100

r-x

5

101

rw-

6

110

rwx

7

111


Les permissions les plus courantes pour un fichier

644

rw-     u

r--     g

r--     o

640

rw-     u

r--     g

---     o

600

rw-     u

---     g

---     o

Les permissions les plus courantes pour un répertoire

755

rwx     u

r-x     g

r-x     o

751

rwx     u

r-x     g

--x     o

711

rwx     u

--x     g

--x     o


La commande chmod permettant de positionner rwxr-x--- sur fic1 à la syntaxe suivante:
chmod 750 fic1


Spécification des modes d’accès r,w,x

Il existe aussi un autre moyen de positionner les droits d'un fichier avec cette même commande. Vous pouvez utiliser des +, - ou = pour ajouter, supprimer ou fixer des droits à l'une ou l'autre des catégories u (user), g (group), o (other) ou à tous (a) en précisant le type de droit d'accès, r (read), w (write) ou x (execute).



Exemples :

Cette commande est très pratique quand vous souhaitez juste modifier des droits d'une catégorie à un ensemble de fichiers ayant des droits différents les uns des autres.

Si le changement de droits s'applique à un répertoire, vous pouvez changer tous les droits des fichiers et répertoires inclus dans ce répertoire via l'option -R.