Manipuler les permissions avec CHMOD sous Linux


CHMOD pour les permissions

chmod permet d’attribuer des permissions sur un fichier au propriétaire, à un groupe d’utilisateur et à tous les autres utilisateurs restants. L’attribution des droits peut être représentée par deux notations.

CHMOD (notation symbolique)

la notation symbolique est plus simple à comprendre, elle permet d’attribuer des permissions en indiquant les lettres concernées.

 
           rwx rwx rwx
           ─┬─ ─┬─ ─┬─
     ┌──────┘   │   └─────┐
     │          │         │
propriétaire   groupe   autre

Il est possible d’ajouter des droit r (lecture) , w ( écriture ) et x ( exécution ) à un utilisateur précis ou même tous les utilisateurs. Pour savoir à qui on s’adresse :

SymboleSignification
ul’utilisateur propriétaire
gle groupe
oles autres
atous ( u + g + o )

Exemples de notations symboliques

chmod g+rw

On cible le groupe (g) et on lui ajoute (+) les permissions lecture (r) et écriture (w).

chmod a=rw

On cible le propriétaire, le groupe et tous les autres (a) et on leur définit précisément (=) les droits de lecture (r) et écriture (w). Si les droits d’exécution (x) étaient présents, ils sont supprimés.

chmod u-r

On cible l’utilisateur propriétaire (u) et on lui retire (-) le droit de lecture (r)

chmod a=rwx, o-wx

D’abord on cible tous le monde (a) en définissant précisément tous les droits (rwx). puis, à l’aide d’une nouvelle étape séparée par la virgule, on cible les autres (o) et on leur retire les droits d’écriture (w) et d’exécution (x)

CHMOD (notation octale)

La notation octale demande une certaine gymnastique d’esprit. Cette notation à l’avantage de définir les droits du propriétaire, groupes et autres utilisateurs en une seule notation de 3 chiffres.

 
       r w x   r w x   r w x
       ─────   ─────   ─────
       4+2+1   4+2+1   4+2+1
       ─────   ─────   ─────
         7       7       7
     ┌───┘       │       │
     │           │       └┐
propriétaire   groupe   autre

Chaque section (propriétaire, groupe, autre) se calcule séparément. Les trois attributs, read, write, et execution ont des valeurs bien précises :

Ce système permet de combiner les attributs en obtenant un chiffre bien particulier propre à la configuration choisie. Ainsi il est possible, à partir du résultat de retrouver facilement la combinaison.

par exemple, pour la configuration des droits :

 
       r w x   r w x   r w x
       ─────   ─────   ─────
       4+2+1   4+0+1   4+0+0
       ─────   ─────   ─────
         7       5       4
     ┌───┘       │       │
     │           │       └┐
propriétaire   groupe   autre

Dans cet exemple, les droits sont définis à rwx pour le propriétaire, rx pour le groupe, et r pour les autres. En ligne de commande, cela nous donne :

chmod 754 nom_du_fichier

Dans le sens inverse, il est possible de comprendre les droits définis, car les résultats sont produits grâce à des opérations de nombre uniques :