Gestion des droits sous Linux (chmod)

Fondamentalchmod

La commande chmod permet de modifier l'attribution des droits d'un fichier ou d'un dossier.

Pour cela on attribue 3 nombres de 0 à 7 correspondant aux 3 droits : utilisateur propriétaire (u), utilisateurs membres du groupe propriétaire (g), autres utilisateurs (o), sachant que :

  1. r vaut 4, w vaut 2, x vaut 1 ;

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

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.

Complémentumask : Changer les droits par défaut

  • umask -S permet de voir les droits par défaut.

  • umask XYZ enlève X, Y et Z à 666 pour les fichiers et 777 pour les dossiers lors de la création

  • umask 022 enlève les droits par défaut en écriture pour group et others;

  • umask 077 enlève tous les droits par défaut pour group et others.