Les droits et propriétés sous Linux


1. Principe des permissions sous Linux

Chaque fichier ou dossier sur un système de fichiers Linux possède trois ensembles de permissions, chacune correspondant à une catégorie d'utilisateurs :

Pour chacune de ces catégories, on peut attribuer des permissions spécifiques :

Lorsqu'on liste un fichier avec ls -l, on obtient un affichage du type :

-rwxr-xr-- 1 utilisateur groupe 2048 date monfichier

Ce qui se décompose en 10 caractères :


2. Représentation des permissions en chiffres

Plutôt que d'utiliser des lettres, Linux permet d'attribuer les droits en utilisant une notation octale (chiffres de 0 à 7). Cette notation est très répandue et plus concise, je vous la recommande.

Chaque catégorie de permission (r, w, x) correspond à une valeur binaire.

Pour chaque trio (propriétaire, groupe, autres), on additionne les valeurs correspondant aux permissions souhaitées.

Exemples :

Ainsi, un code à trois chiffres correspond aux droits du propriétaire, du groupe, et des autres dans cet ordre.
Par exemple, chmod 755 fichier signifie :


3. Utilisation de chmod

La commande chmod permet de modifier les droits d'accès à un fichier ou à un dossier.

Syntaxe générale :

chmod XYZ fichier

où X, Y et Z sont des chiffres entre 0 et 7.

chmod 700 fichier
chmod 755 fichier
chmod 644 fichier
chmod 600 fichier

Pour un répertoire, chmod fonctionne de la même façon, mais la permission x permet d'entrer dans le répertoire. Par exemple :

chmod 755 mon_repertoire

On peut appliquer chmod récursivement avec -R si on souhaite modifier toute une arborescence :

chmod -R 755 mon_repertoire

4. Utilisation de chown

La commande chown permet de changer le propriétaire et/ou le groupe d'un fichier ou d'un répertoire.

Syntaxe générale :

chown nouveau_proprio:nouveau_groupe fichier
sudo chown alice fichier

(Le groupe reste inchangé.)

sudo chown alice:developpeurs fichier
sudo chown -R alice:developpeurs mon_repertoire

chown nécessite généralement les privilèges administrateur (sudo).


5. Quelques cas d'usage concrets :

chmod 600 ~/.ssh/id_rsa

Le propriétaire (vous) peut lire et écrire, mais personne d'autre n'y a accès.

chmod 700 mon_script.sh

Le propriétaire peut l'exécuter, le lire, le modifier, mais ni le groupe ni les autres n'y ont accès.

chmod 644 index.html

Propriétaire : rw-
Groupe : r--
Autres : r--
Tout le monde peut voir la page, mais seul le propriétaire (généralement un utilisateur système dédié) peut la modifier.

chmod 755 /var/www

Propriétaire : rwx
Groupe : r-x
Autres : r-x
Les autres peuvent entrer et lire, mais pas créer ou modifier les fichiers à l'intérieur.


6. Récapitulatif des valeurs chiffrées courantes :

Permutations classiques :


Exercices :

Exercices sur les propriétés et permissions sur Linux


⬆️ Retour en haut de la page