Gestion des droits sous Linux

Fondamentalchmod

La commande chmod permet de modifier l'attribution des droits d'un fichier ou d'un dossier. Pour cela on ressort d'un côté nos trois types d'utilisateurs : le user propriétaire u, le group propriétaire g et les others o, et d'un autre côté les trois droits read, write et execute.

On donne a chmod les modifications que l'on souhaite apporter puis la liste des fichiers/dossiers auquel l'appliquer. Une modification de droit est décrite par [usertype][action][permissions] où :

  • usertype est u g ou o (ou a pour all)

  • action est + - ou = pour ajouter, retirer ou fixer des permissions

  • permissions est r w ou x

Exemple

1
$ ls -l index.html 
2
-rw-rw---- 1 antoine antoine 8578 janv. 22 09:34 index.html
3
$ chmod a=r index.html
4
$ ls -l index.html 
5
-r--r--r-- 1 antoine antoine 8578 janv. 22 09:34 index.html
6
$ chmod +x index.html
7
$ ls -l index.html
8
-r-xr-xr-x 1 antoine antoine 8578 janv. 22 09:34 index.html
9
$ chmod o-rx index.html
10
$ ls -l index.html 
11
-r-xr-x--- 1 antoine antoine 8578 janv. 22 09:34 index.html

Alternativement, les administrateurs système hirsutes préfèrent attribuer 3 nombres de 0 à 7 correspondant aux 3 types d'utilisateurs tel que :

  1. r vaut 4, w vaut 2, x vaut 1 (ce sont des puissances de 2 pour ceux qui voudraient une petite explication de comment ça marche n'hésitez pas !) ;

  2. on somme les droits que l'on veut cumuler.

Ainsi on peut régler tous les droits de tous les types d'utilisateurs d'un coup mais c'est moins intuitif.

Exemple

  • chmod 640 file donne les droits rw (4+2) à user, r (4) à group et aucun droit (0) à others.

  • chmod 775 file donne les droits rwx (4+2+1) à user et group et rx (4+1) à others.

MéthodeDroits courant pour un fichier (non exécutable)

  • chmod 666 file (fichier non exécutable public)

  • chmod 644 file (fichier non exécutable public, modifiable par soi uniquement)

  • chmod 600 file (fichier privé)

  • chmod 400 file (fichier privé en lecture seule)

  • chmod 444 file (fichier public en lecture seule)

Droits courant pour un dossier (et de son contenu)

chmod 777 dir (dossier public)

chmod 755 dir (dossier public, modifiable par soi uniquement)

chmod 700 dir (dossier privé)

chmod 500 dir (dossier privé en lecture seule)

chmod 555 dir (dossier public en lecture seule)

Complémentchmod -R Changer les droits de tout un répertoire

chmod -R XXX dir affecte les droit XXX à dir et à tous les fichiers et sous-dossiers de dir (récursivement).

Complémentchown : Changer les propriétaires d'un fichier

chown user:group target permet de donner la propriété de target à l'utilisateur user et au groupe group.