Les permissions de fichiers Linux sont la base de la securite systeme. Chaque fichier et repertoire sur un systeme Unix porte des metadonnees qui determinent qui peut lire, ecrire ou executer. Que vous deployiez une application web, securisiez un serveur ou debogniez un script de deploiement, comprendre la commande chmod et les numeros de permissions est indispensable. Ce guide complet du calculateur chmod couvre tout, des concepts de base aux bits speciaux, avec un aide-memoire chmod complet.
Essayez notre calculateur chmod interactif pour visualiser les permissions instantanement.
Chmod Calculator â1. Que Sont les Permissions de Fichiers Linux ?
Chaque fichier et repertoire sous Linux a trois categories d'utilisateurs. Le proprietaire est generalement celui qui a cree le fichier. Le groupe est un ensemble d'utilisateurs partageant des droits. Les autres designent tous les autres utilisateurs du systeme. La commande ls -l revele la chaine de permissions.
Chaque categorie peut recevoir trois types d'acces. Lecture (r) permet de voir le contenu. Ecriture (w) permet de modifier. Execution (x) permet de lancer un fichier ou d'entrer dans un repertoire. Ces neuf bits forment le modele de permissions Unix.
Voici un exemple typique de sortie <code>ls -l</code> :
-rwxr-xr-- 1 alice developers 4096 Feb 20 deploy.sh
Proprietaire: rwx (7) | Groupe: r-x (5) | Autres: r-- (4)
Permission: 7542. Comprendre les Numeros de Permissions (Notation Octale)
Linux represente chaque ensemble de permissions par un chiffre octal de 0 a 7. Le chiffre est la somme des valeurs : Lecture = 4, Ecriture = 2, Execution = 1. Un nombre a trois chiffres comme 755 encode les trois categories.
Voici la table de reference octale pour chaque combinaison possible :
| Octal | Symbolique | Signification |
|---|---|---|
0 | --- | No permission |
1 | --x | Execute only |
2 | -w- | Write only |
3 | -wx | Write + Execute |
4 | r-- | Read only |
5 | r-x | Read + Execute |
6 | rw- | Read + Write |
7 | rwx | Read + Write + Execute |
Pour calculer un numero complet, calculez chaque chiffre separement. Par exemple, proprietaire lecture+ecriture (4+2=6), groupe lecture (4), autres rien (0) donne 640.
3. Table de Reference des Permissions chmod
Voici une table de reference complete des combinaisons chmod les plus courantes.
| Octal | Symbolique | Signification | Usage Typique |
|---|---|---|---|
777 | rwxrwxrwx | Acces total pour tous | Debogage temporaire uniquement ; JAMAIS en production |
755 | rwxr-xr-x | Proprietaire total ; groupe/autres lecture+execution | Repertoires, scripts executables, racine du serveur web |
750 | rwxr-x--- | Proprietaire total ; groupe lecture+execution ; autres rien | Repertoires de projet partages |
700 | rwx------ | Proprietaire uniquement | Repertoire ~/.ssh, scripts prives |
666 | rw-rw-rw- | Lecture+ecriture pour tous ; sans execution | Rarement utilise ; fichiers partages temporaires |
644 | rw-r--r-- | Proprietaire lecture+ecriture ; groupe/autres lecture | Fichiers HTML, CSS, PHP, configurations |
640 | rw-r----- | Proprietaire lecture+ecriture ; groupe lecture ; autres rien | Fichiers journaux, configs sensibles |
600 | rw------- | Proprietaire lecture+ecriture uniquement | Cles SSH privees, fichiers .env, identifiants |
400 | r-------- | Proprietaire lecture seule | Certificats SSL, secrets en lecture seule |
775 | rwxrwxr-x | Proprietaire total ; groupe total ; autres lecture+execution | Repertoires de telechargement partages |
4. Comment Utiliser la Commande chmod
La commande chmod modifie les permissions. Elle supporte deux modes : numerique (octal) et symbolique.
Mode Numerique
En mode numerique, vous fournissez un nombre octal a trois ou quatre chiffres :
chmod 755 script.sh # rwxr-xr-x
chmod 644 config.json # rw-r--r--
chmod 600 id_rsa # rw-------
chmod 400 cert.pem # r--------
chmod -R 755 /var/www/html # Recursive on directoryMode Symbolique
Le mode symbolique utilise la syntaxe chmod [ugoa][+-=][rwxXst] :
- Qui : u (proprietaire), g (groupe), o (autres), a (tous)
- Operateur : + (ajouter), - (retirer), = (definir exactement)
- Permission : r (lecture), w (ecriture), x (execution)
chmod u+x script.sh # Add execute for owner
chmod g-w file.txt # Remove write from group
chmod o+r document.pdf # Add read for others
chmod a+x run.sh # Add execute for all
chmod u=rwx,go=rx dir/ # Owner=rwx, group+others=rx (755)
chmod go-rwx secret.key # Remove all from group+otherschmod Recursif
Utilisez chmod -R pour changer les permissions recursivement :
# Set directories to 755 and files to 644 (web server standard)
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
# Make all .sh files executable
find /opt/scripts -name "*.sh" -exec chmod 755 {} \;Utilisez notre calculateur chmod pour generer la commande exacte :
5. Modeles chmod Courants pour les Developpeurs
Differents types de fichiers necessitent des permissions specifiques. Voici la reference definitive des modeles chmod essentiels.
Fichiers de Serveur Web
Pour Apache et Nginx : 644 pour les fichiers, 755 pour les repertoires :
# Web server document root
chmod 755 /var/www/html
chmod 644 /var/www/html/index.html
chmod 644 /var/www/html/style.css
chmod 644 /var/www/html/.htaccess
# PHP / application files
chmod 644 /var/www/html/app/*.php
chmod 755 /var/www/html/app/storageScripts et Executables
Utilisez 755 pour les scripts partages et 700 pour les scripts prives :
# Shared executable scripts
chmod 755 deploy.sh
chmod 755 /usr/local/bin/my-tool
# Private scripts (owner only)
chmod 700 backup-db.sh
chmod 700 cleanup.shCles et Configuration SSH
SSH est tres strict sur les permissions. Voici les parametres requis :
chmod 700 ~/.ssh # SSH directory
chmod 600 ~/.ssh/id_rsa # Private key
chmod 600 ~/.ssh/id_ed25519 # Private key (Ed25519)
chmod 644 ~/.ssh/id_rsa.pub # Public key
chmod 600 ~/.ssh/authorized_keys # Authorized keys
chmod 600 ~/.ssh/config # SSH config fileFichiers d'Environnement et Secrets
Les fichiers contenant des cles API et identifiants doivent etre restreints :
chmod 600 .env # Environment variables
chmod 600 .env.production # Production secrets
chmod 600 database.yml # Database credentials
chmod 600 credentials.json # API credentials
chmod 400 ssl-cert.pem # SSL certificate (read-only)Repertoires de Telechargement
Les repertoires d'upload necessitent les permissions d'ecriture du groupe :
chmod 775 /var/www/html/uploads
chmod 775 /var/www/html/tmp
chmod 775 /var/www/html/cache
# Ensure web server group owns the directory
# chown www-data:www-data /var/www/html/uploads6. Permissions Speciales : setuid, setgid, Sticky Bit
Au-dela des neuf bits standard, Linux supporte trois bits speciaux qui modifient le comportement d'execution.
Le processus s'execute avec les permissions du proprietaire du fichier. Exemple classique : /usr/bin/passwd. Affiche comme s dans la position d'execution du proprietaire.
Sur un repertoire, les nouveaux fichiers heritent automatiquement du groupe du repertoire. Essentiel pour les repertoires de projets partages.
Seuls le proprietaire du fichier, le proprietaire du repertoire ou root peuvent supprimer les fichiers. Exemple canonique : /tmp (1777).
Definir les permissions speciales :
# SUID: run as file owner
chmod 4755 /usr/bin/passwd
chmod u+s /usr/bin/my-tool
# SGID: inherit group on directory
chmod 2755 /shared/project
chmod g+s /shared/project
# Sticky Bit: prevent deletion by others
chmod 1777 /tmp
chmod +t /shared/uploads
# Combine: SGID + standard permissions
chmod 2775 /team/shared-dir
# Find files with special permissions
find / -perm -4000 -type f 2>/dev/null # Find SUID files
find / -perm -2000 -type f 2>/dev/null # Find SGID files
find / -perm -1000 -type d 2>/dev/null # Find sticky dirs7. Bonnes Pratiques pour les Permissions
Les permissions sont une couche de defense critique. Suivez ces bonnes pratiques.
Appliquez le principe du moindre privilege. N'accordez que les permissions minimales necessaires.
N'utilisez jamais chmod 777 en production. Cela donne un acces total a tous.
Auditez regulierement les permissions. Utilisez find / -perm -777 -type f.
Utilisez les groupes plutot que les permissions world-readable.
Soyez prudent avec chmod recursif. Verifiez toujours le chemin.
Documentez vos exigences de permissions. Incluez les commandes chmod dans vos scripts.
Utilisez umask pour des valeurs par defaut securisees. Definissez umask 027.
Utilisez notre calculateur chmod pour determiner rapidement les bonnes permissions.
8. Questions Frequemment Posees
Que signifie chmod 755 ?
chmod 755 donne au proprietaire un acces total (rwx = 7), et au groupe et aux autres un acces en lecture et execution (r-x = 5). C'est la permission standard pour les scripts executables et les repertoires.
Quelle est la difference entre chmod 755 et 644 ?
chmod 755 (rwxr-xr-x) accorde l'execution a tous, pour les repertoires et scripts. chmod 644 (rw-r--r--) supprime l'execution et n'accorde l'ecriture qu'au proprietaire, pour les fichiers reguliers.
Comment verifier les permissions sous Linux ?
Executez ls -la pour voir les permissions detaillees. Utilisez stat filename pour une vue plus complete avec les notations octale et symbolique.
Quelle est la permission la plus securisee ?
Pratiquement, 400 (lecture seule proprietaire) ou 600 (lecture+ecriture proprietaire) sont les plus restrictives. Pour les cles SSH, utilisez 600. Pour les certificats SSL, utilisez 400.
Peut-on utiliser chmod sur Mac ?
Oui. macOS est base sur BSD Unix et supporte pleinement chmod avec la meme syntaxe que Linux, en mode numerique et symbolique. macOS supporte aussi les ACL.
Calculez les valeurs chmod exactes avec notre calculateur gratuit en ligne.
Chmod Calculator â