Comprendre les Permissions de Fichiers Unix avec le Calculateur Chmod

17 Jun 2026 1,402 words

Comprendre les Permissions de Fichiers Unix avec le Calculateur Chmod

Les permissions de fichiers Unix contrôlent qui peut lire, écrire et exécuter les fichiers et répertoires. Chaque fichier et répertoire sur un système Linux ou Unix possède un ensemble de bits de permission qui déterminent l'accès pour trois catégories : le propriétaire du fichier, le groupe et tous les autres. Comprendre ces permissions est essentiel pour l'administration système, le développement web, le DevOps et tout travail sur des serveurs Linux.

Les Trois Triplets de Permissions

Les permissions sont organisées en trois groupes de trois bits chacun :

Propriétaire Groupe  Autres
 rwx        rwx      rwx

Chaque triplet contient trois permissions :

  • r — Lecture (4)
  • w — Écriture (2)
  • x — Exécution (1)

Les valeurs entre parenthèses sont les poids octaux. Pour calculer le mode octal, additionnez les poids des permissions activées pour chaque triplet.

rwx = 4 + 2 + 1 = 7
rw- = 4 + 2 + 0 = 6
r-x = 4 + 0 + 1 = 5
r-- = 4 + 0 + 0 = 4
-wx = 0 + 2 + 1 = 3
-w- = 0 + 2 + 0 = 2
--x = 0 + 0 + 1 = 1
--- = 0 + 0 + 0 = 0

Modes Chmod Courants

Octal Symbolique Propriétaire Groupe Autres Usage Courant
777 rwxrwxrwx rwx rwx rwx Accès complet (non sécurisé, à éviter)
755 rwxr-xr-x rwx r-x r-x Répertoires, scripts exécutables
750 rwxr-x--- rwx r-x --- Répertoires d'équipe
700 rwx------ rwx --- --- Exécutables privés
644 rw-r--r-- rw- r-- r-- Fichiers normaux, ressources web
640 rw-r----- rw- r--- --- Fichiers lisibles par l'équipe
600 rw------- rw- --- --- Fichiers privés (clés SSH)
400 r-------- r-- --- --- Configuration en lecture seule

Permissions des Fichiers vs Répertoires

Le bit d'exécution se comporte différemment pour les fichiers et les répertoires.

Permission Sur un Fichier Sur un Répertoire
r Lire le contenu du fichier Lister le contenu du répertoire (ls)
w Modifier le contenu du fichier Créer, renommer, supprimer des fichiers à l'intérieur
x Exécuter le fichier comme un programme Entrer dans le répertoire (cd), accéder aux fichiers à l'intérieur

Cette distinction est cruciale. Un répertoire a besoin à la fois de r et x pour être lisible — r seul vous permet de voir les noms de fichiers, mais sans x vous ne pouvez accéder à aucun fichier à l'intérieur.

# Répertoire avec r mais sans x — peut lister mais pas accéder
$ ls -la /example
# (affiche les noms de fichiers mais vous ne pouvez pas faire cd ni lire les fichiers)

# Répertoire avec r-x — accès en lecture complet
$ ls -la /example
$ cat /example/file.txt

Référence de la Commande Chmod

Notation Octale

chmod 755 script.sh     # rwxr-xr-x
chmod 644 index.html    # rw-r--r--
chmod 600 id_rsa        # rw------- (clé privée SSH)
chmod 700 ~/.ssh         # rwx------ (répertoire SSH)
chmod -R 755 public/    # Récursif (appliquer à tous les fichiers et sous-répertoires)

Notation Symbolique

chmod u+x script.sh     # Ajouter exécution pour le propriétaire
chmod g+w file.txt      # Ajouter écriture pour le groupe
chmod o-r file.txt      # Supprimer lecture pour les autres
chmod a+rx script.sh    # Ajouter lecture+exécution pour tous (ugo)
chmod u=rwx,g=rx,o=    # Définir les permissions exactes : rwxr-x---
chmod -R u=rwX,go=rX public/  # Récursif, X = exécution uniquement pour les répertoires

Le X majuscule en mode symbolique est spécial : il ajoute la permission d'exécution uniquement si la cible est un répertoire ou a déjà la permission d'exécution pour un utilisateur. C'est extrêmement utile pour les opérations récursives.

# Définir tous les répertoires à 755 et tous les fichiers à 644 récursivement
find /path -type f -exec chmod 644 {} \;
find /path -type d -exec chmod 755 {} \;

# Ou utiliser le raccourci X
chmod -R u=rwX,go=rX /path

Bits de Permission Spéciaux

Au-delà des bits rwx de base, Unix prend en charge trois permissions spéciales.

Setuid (SUID) — u+s (4000)

Lorsqu'il est défini sur un exécutable, le processus s'exécute avec les privilèges du propriétaire du fichier, et non de l'utilisateur qui l'a lancé. Cela permet aux utilisateurs ordinaires d'exécuter des commandes nécessitant des permissions élevées.

chmod u+s /usr/bin/passwd
# -rwsr-xr-x (le s remplace x dans le triplet propriétaire)

Setgid (SGID) — g+s (2000)

Sur un fichier, le processus s'exécute avec le groupe du fichier. Sur un répertoire, les nouveaux fichiers créés à l'intérieur héritent du groupe du répertoire au lieu du groupe principal du créateur.

chmod g+s /shared/directory
# drwxrwsr-x (le s remplace x dans le triplet groupe)

Sticky Bit — +t (1000)

Principalement utilisé sur /tmp — seul le propriétaire du fichier (ou root) peut supprimer ou renommer les fichiers à l'intérieur du répertoire, même si d'autres ont la permission d'écriture.

chmod +t /tmp
# drwxrwxrwt (le t remplace x dans le triplet autres)

Umask : Permissions par Défaut

Umask définit quels bits de permission sont supprimés lorsqu'un nouveau fichier ou répertoire est créé. C'est l'inverse des permissions par défaut souhaitées.

umask 022  # Par défaut sur la plupart des systèmes
# Fichiers : 666 - 022 = 644 (rw-r--r--)
# Répertoires : 777 - 022 = 755 (rwxr-xr-x)

umask 002  # Par défaut pour les répertoires partagés
# Fichiers : 666 - 002 = 664 (rw-rw-r--)
# Répertoires : 777 - 002 = 775 (rwxrwxr-x)

umask 077  # Restrictif (privé)
# Fichiers : 666 - 077 = 600 (rw-------)
# Répertoires : 777 - 077 = 700 (rwx------)

Bonnes Pratiques de Sécurité

  • Fichiers de configuration contenant des secrets : 600 (chmod 600 .env)
  • Clés privées SSH : 600 (chmod 600 ~/.ssh/id_rsa)
  • Répertoire SSH : 700 (chmod 700 ~/.ssh)
  • Répertoires web : 755 (chmod 755 /var/www/html)
  • Fichiers web : 644 (chmod 644 /var/www/html/index.html)
  • Répertoires de téléchargement : 755, pas 777
  • Scripts exécutables : 755 (chmod 755 deploy.sh)
  • Ne jamais utiliser 777 en production — cela permet à tout utilisateur de modifier les fichiers

Pièges Courants

Piège 1 : Confondre les permissions de répertoires et de fichiers

# ❌ Faux — donner l'exécution à tous les fichiers récursivement
chmod -R 755 /path

# ✅ Correct — séparer les permissions des fichiers et des répertoires
find /path -type f -exec chmod 644 {} \;
find /path -type d -exec chmod 755 {} \;

Piège 2 : Utiliser 777 pour les téléchargements web

# ❌ Faux — n'importe quel utilisateur peut écrire
chmod 777 uploads/

# ✅ Correct — le propriétaire peut écrire, les autres seulement lire+exécuter
chmod 755 uploads/
# Faire de l'utilisateur du serveur web le propriétaire
chown www-data:www-data uploads/

Piège 3 : Ignorer les permissions de groupe pour les projets d'équipe

# Définir le bit de groupe collant pour que les nouveaux fichiers héritent du groupe
chmod g+s /project/shared
chmod 775 /project/shared

Outil en Ligne

L'outil Calculateur CHMOD sur Help2Code fournit un sélecteur de bits de permission interactif avec sortie octale et symbolique instantanée. Activez ou désactivez la lecture, l'écriture et l'exécution pour le propriétaire, le groupe et les autres, et voyez la commande chmod résultante immédiatement. Des préréglages rapides pour les modes courants comme 755, 644, 600 et 700 facilitent la recherche du bon ensemble de permissions sans mémoriser les valeurs octales.

Conclusion

Les permissions de fichiers Unix sont un système simple mais puissant construit sur trois triplets de bits de lecture, écriture et exécution. La notation octale rend les permissions compactes et scriptables, tandis que la notation symbolique offre un contrôle précis. Comprendre les permissions — y compris umask, SUID, SGID et le sticky bit — est essentiel pour une administration sécurisée des serveurs. Utilisez l'outil Calculateur CHMOD pour expérimenter avec des combinaisons de permissions de manière interactive.


About this article

Apprenez comment fonctionnent les permissions de fichiers Unix, lisez les notations octale et symbolique chmod comme un pro, et calculez les permissions avec notre outil en ligne gratuit.


Related Articles


Related Tools

Help2Code Logo
Menu