Guide du système octal
Octal Number System
The octal system uses 8 digits: 0-7. Each octal digit represents exactly 3 binary bits. That's why 64₁₀ = 100₈. Historically used in UNIX/Linux file permissions (chmod 755 = rwxr-xr-x) and memory addressing in older 8-bit systems.
Permissions de fichiers sous Linux
Les droits d'accès Linux (chmod) utilisent trois chiffres octaux : propriétaire, groupe, autres. Chaque chiffre est la somme des droits : lecture=4, écriture=2, exécution=1. Par exemple chmod 755 = rwxr-xr-x (7=r+w+x, 5=r+x, 5=r+x). chmod 644 = rw-r--r--.
Applications pratiques
File permissions: chmod 400 (read only), chmod 755 (full), chmod 600 (private). Used rarely in Python and Java. In older IBM System/360 used for disk addressing. Conversion: 64₁₀ = 100₈, 255₁₀ = 377₈.
L'octal survit parce que 755 fait exactement neuf bits de permission
L'octal a quasiment disparu de l'informatique, à une exception près : les permissions de fichiers Unix. Ce n'est pas une habitude. Trois indicateurs de permission tiennent exactement dans un chiffre octal, et trois classes d'utilisateurs font neuf bits — un mode fait donc précisément trois chiffres, sans remplissage ni reste.
Comment ça marche
- Convertit entre octal, décimal, binaire et hexadécimal.
- Lit les modes de permission, où chaque chiffre encode lecture, écriture et exécution pour une classe.
- Rend visible la correspondance de trois bits par chiffre, seule raison de la survie de cette notation.
1 chiffre octal = 3 bits = 8 valeurs (0–7) permissions : r = 4, w = 2, x = 1 7 = 4+2+1 = rwx 5 = 4+0+1 = r-x 6 = 4+2+0 = rw- mode = chiffre propriétaire, groupe, autres → 9 bits, 512 modes possibles
Exemple chiffré
Lire les modes courants sous leur forme symbolique.
- 755 → rwxr-xr-x, le mode usuel d'un répertoire ou d'un exécutable
- 644 → rw-r--r--, le mode usuel d'un fichier
- 600 → rw-------, lisible par le seul propriétaire
- 777 → rwxrwxrwx, modifiable par n'importe qui
Chaque chiffre est indépendamment la somme de 4, 2 et 1. 755 donne tout au propriétaire et accorde au groupe et aux autres la lecture et l'exécution mais pas l'écriture — d'où son statut de valeur par défaut pour ce qui doit être exécuté ou traversé sans être modifié.
Lire le résultat
- 777 est presque toujours une erreur. Il autorise tout utilisateur du système à modifier le fichier, et on y recourt généralement quand un problème de permissions n'a pas été compris, non parce que l'écriture universelle est réellement voulue.
- Un répertoire a besoin du droit d'exécution pour être traversé. La lecture liste les noms, l'exécution donne accès au contenu. C'est pourquoi 644 sur un répertoire produit la situation déroutante où l'on voit des noms de fichiers qu'on ne peut pas ouvrir.
- L'umask soustrait, il ne fixe pas. Avec l'umask courant 022, un fichier neuf part de 666 et devient 644, un répertoire neuf part de 777 et devient 755 — d'où proviennent exactement ces deux modes familiers.
- Un quatrième chiffre en tête active setuid, setgid et le sticky bit — 4755 au lieu de 755. Rarement nécessaire, il mérite d'être compris avant usage : setuid sur le mauvais binaire est un véritable risque d'élévation de privilèges.
Questions fréquentes
- Pourquoi l'octal plutôt que l'hexadécimal pour les permissions ?
- Parce que les permissions vont par groupes de trois bits et que l'octal fait exactement trois bits par chiffre. L'hexadécimal couperait un groupe de trois bits à cheval sur deux chiffres, et la correspondance nette d'un chiffre par classe disparaîtrait.
- Que faut-il utiliser en pratique ?
- 644 pour les fichiers ordinaires, 755 pour les répertoires et exécutables, 600 pour tout ce qui contient des secrets comme des clés ou des identifiants. N'allez au-delà que si vous pouvez dire précisément quel accès supplémentaire vous accordez, et à qui.