Aide-mémoire Développement

Aide-mémoire chmod et permissions de fichiers

Modes octal et symbolique de chmod, sens de chaque chiffre, lecture de ls -l, bits spéciaux et umask, sur une page.

Dernière vérification:

AdSense Placeholder
Slot: header_reference_page
Sur cette page

Les permissions d'un fichier indiquent qui peut le lire (r), l'écrire (w) ou l'exécuter (x), séparément pour trois publics : l'utilisateur propriétaire (u), le groupe du propriétaire (g) et les autres (o). chmod les modifie. Le Calculateur Chmod fait l'arithmétique à votre place.

Lire ls -l

-rwxr-xr--  1 ana  staff  1024 Oct  3 10:00 deploy.sh

Le premier caractère est le type (- fichier, d dossier, l lien symbolique). Les neuf suivants forment trois groupes de trois : rwx pour le propriétaire, r-x pour le groupe et r-- pour les autres. Ce script est donc 754 : le propriétaire peut tout faire, le groupe peut le lire et l'exécuter, les autres seulement le lire.

Chiffres octaux

Chaque public reçoit un chiffre qui est la somme de lire = 4, écrire = 2 et exécuter = 1.

Chiffre Binaire Permissions
7 111 rwx lire + écrire + exécuter
6 110 rw- lire + écrire
5 101 r-x lire + exécuter
4 100 r-- lire
3 011 -wx écrire + exécuter
2 010 -w- écrire
1 001 --x exécuter
0 000 --- aucune

Modes courants

Octal Symbolique Signification
644 -rw-r--r-- Fichier normal : vous lisez et écrivez, les autres lisent
600 -rw------- Fichier privé : vous seul (clés SSH, secrets)
640 -rw-r----- Vous lisez et écrivez, votre groupe lit, les autres rien
664 -rw-rw-r-- Vous et votre groupe écrivez, les autres lisent
755 -rwxr-xr-x Programme ou dossier : vous faites tout, les autres lisent et exécutent
700 -rwx------ Programme ou dossier privé : vous seul
750 -rwxr-x--- Vous faites tout, votre groupe lit et exécute, les autres rien
775 -rwxrwxr-x Dossier partagé : vous et votre groupe faites tout
444 -r--r--r-- Lecture seule pour tous
400 -r-------- Lecture seule, et pour vous seul
777 -rwxrwxrwx Tout le monde peut tout faire : à éviter

Pour un dossier, r permet de lister son contenu, w de créer et supprimer des entrées et x d'y entrer et d'atteindre ce qu'il contient. Un dossier sans x est pratiquement verrouillé, c'est pourquoi les dossiers sont en général 755 ou 700 plutôt que 644.

Mode symbolique

Décrivez le changement plutôt que la valeur finale : qui (u, g, o ou a pour tous), un opérateur (+ ajouter, - retirer, = fixer exactement) et les permissions.

chmod u+x script.sh        # le propriétaire peut l'exécuter
chmod go-w notes.txt       # retire l'écriture au groupe et aux autres
chmod a=r readme.txt       # tout le monde : lecture seule
chmod u=rwx,g=rx,o= tool   # équivaut à 750
chmod -R u+rwX,go-rwx dir  # récursif ; le X majuscule n'ajoute l'exécution qu'aux dossiers

Modifier beaucoup de fichiers d'un coup

find . -type d -exec chmod 755 {} +     # tous les dossiers
find . -type f -exec chmod 644 {} +     # tous les fichiers ordinaires

Mettre 755 partout rend exécutables les fichiers de données, et chmod -R 777 n'est presque jamais la bonne réponse à une erreur « permission refusée ». Cherchez quel utilisateur a besoin de l'accès et accordez exactement cela.

Bits spéciaux

Un quatrième chiffre en tête fixe trois bits spéciaux.

Bit Octal Sur un fichier Sur un dossier
setuid 4000 s'exécute avec le propriétaire du fichier sans effet sur la plupart des systèmes
setgid 2000 s'exécute avec le groupe du fichier les nouveaux fichiers héritent du groupe du dossier
sticky 1000 ignoré seul le propriétaire d'un fichier peut le supprimer (comme dans /tmp)

chmod 1777 shared/ crée un dossier modifiable par tous avec le bit sticky, et chmod 2775 project/ garde les fichiers d'un dossier d'équipe dans un même groupe.

Permissions par défaut et umask

Les nouveaux fichiers partent de 666 et les nouveaux dossiers de 777, puis l'umask retire des bits. Avec l'umask courant 022, les nouveaux fichiers sont 644 et les dossiers 755. Avec 077, ils sont 600 et 700. Consultez le vôtre avec umask.

Essayez ces outils

AdSense Placeholder
Slot: footer_leaderboard