Droits Unix : la notation octale

Des chiffres et des lettres

Petite piqure de rappel sur les bases des droits Unix suite à la demande de San Antonio pour le billet sur les droits spéciaux. Plus précisément sur la représentation octale des droits.

Sur les systèmes Unix/Linux/BSD, les droits sur les fichiers sont définis pour le propriétaire, pour les utilisateurs appartenant au groupe et pour les autres utilisateurs. Ils sont représentés – par exemple lorsque l’on invoque la commande ls -l – par une suite de 3 lettres (r,w et x pour respectivement read/lire, write/écrire, execute/exécuter), mais peuvent être représentés par des chiffres, par exemple comme suit :

rw-r--r-- est la même chose que 644

Il s’agit de la représentation octale. Pour être expliquée, il faut partir de la forme binaire des droits, suivant ce schéma :

000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7

On peut associer chaque triplet aux trois entités (propriétaire, groupe, autres) des droits, ainsi, un fichier ayant le droit du propriétaire en lecture et écriture (r w -) sera écrit 110, 1 pour le r, 1 pour le w et 0 pour le flag x qui n’est pas attribué. Le procédé est le même pour les deux autres triplets. Pour l’exemple complet, prenons : r w – r – – r – -, soit 110 100 100.
Ensuite on part du principe que l’on ajoute les chiffres des valeurs binaires des triplets pour obtenir la valeur octale. En continuant sur l’exemple précédent : 110 en binaire vaut 6 en décimal, 100 vaut 4, ainsi nous avons 6 – 4 – 4, simplifié en 644. Notre fichier a les droits 644.

r w -  r - -  r - - = 110 100 100 = 644
rw-rw-r-- = 100 100 100 = 664
r-xr-xr-x = 101 101 101 = 555
rwxr-xr-- = 111 101 000 = 754

1 thought on “Droits Unix : la notation octale”

  1. Merci une nouvelle fois pour ces explications très claires.

    Je comprends maintenant, ce que souhaite un programme (exemple : fetchmail) lorsqu’il m’indique : Le fichier /home/me/.fetchmailrc doit avoir au moins les permissions -rwx—x—- (0710).

    Jusqu’à aujourd’hui, je ne faisais que lui obéir.
    A présent, le ferai plus intelligemment (enfin… dans la mesure de mes faibles capacités intellectuelles :-( ).

    Bonne continuation.

Laisser un commentaire

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