Linux

"chmod et permissions Linux : le guide pratique"

"Comprenez les permissions Unix (lecture, écriture, exécution), les notations octale et symbolique, les bits setuid/setgid/sticky et les réglages sûrs pour un serveur."

Publié le 20/01/2026 · Lecture ≈ 2 min · Équipe NetTools FR

Sur Linux, chaque fichier et répertoire possède trois groupes de permissions : propriétaire (u), groupe (g) et autres (o). Chaque groupe combine lecture (r), écriture (w) et exécution (x).

Notation octale

Chaque droit vaut une valeur : r = 4, w = 2, x = 1. On additionne par groupe :

Octal Symbolique Usage typique
644 rw-r--r-- fichier de données, config non sensible
600 rw------- clé privée SSH, fichier de secrets
755 rwxr-xr-x exécutable, répertoire public
700 rwx------ répertoire personnel (~/.ssh)
775 rwxrwxr-x dossier partagé d'équipe

Modification en pratique

chmod 640 /etc/app/secrets.env
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chown app:app /opt/app/data

Pour appliquer des droits différents aux fichiers et répertoires :

find /var/www -type d -exec chmod 755 {} \;
find /var/www -type f -exec chmod 644 {} \;

Notation symbolique

chmod u+x script.sh        # ajoute l'exécution au propriétaire
chmod g-w,o-rwx dossier    # retire l'écriture au groupe et tout aux autres
chmod a+r rapport.pdf      # tout le monde peut lire

Utilisez le calculateur chmod pour vérifier une combinaison avant de l'appliquer.

Bits spéciaux

  • setuid (4) : le programme s'exécute avec les droits de son propriétaire. Nécessaire pour passwd, risqué ailleurs.
  • setgid (2) : sur un répertoire, les nouveaux fichiers héritent du groupe — pratique pour un dossier partagé.
  • sticky (1) : seul le propriétaire peut supprimer ses fichiers, comme dans /tmp (1777).

Recherchez les setuid anormaux :

find / -perm -4000 -type f 2>/dev/null

umask : les droits par défaut

umask retire des droits à la création. Avec umask 022, un fichier créé obtient 644 et un répertoire 755. Pour un serveur, umask 027 dans /etc/profile durcit l'ensemble.

À retenir

  • Ne mettez jamais 777 en production : c'est une invitation à l'exécution de code arbitraire.
  • Les secrets (clés, tokens, .env) restent en 600 et appartiennent à l'utilisateur du service.
  • Vérifiez régulièrement les fichiers modifiables par tous : find / -perm -o+w -type f 2>/dev/null.
Une question ou une correction à proposer ? Écrivez-nous : nous mettons à jour les tutoriels en continu.