Vous avez adopté une distribution Linux qui vous plaît, mais les commandes terminal et les permissions de fichiers vous laissent perplexe ?
Ou peut-être gérez-vous un site web sur un serveur Linux et rencontrez-vous des erreurs de permissions résolues uniquement en ligne de commande ?
Quoi qu'il en soit, la commande chmod est l'une des plus essentielles à maîtriser. Avant de l'explorer, comprenons d'abord le fonctionnement des permissions de fichiers sous Linux.
Les systèmes Linux, dérivés d'Unix, gèrent les permissions comme suit :
Chaque fichier possède un propriétaire (définissant la classe utilisateur), un groupe (classe groupe), et les autres utilisateurs.
Les permissions s'appliquent à ces trois classes pour trois actions : lire (ouvrir et afficher), écrire (modifier), et exécuter (lancer comme programme).
En résumé, elles déterminent si :
Les permissions s'affichent en deux formats.
La notation symbolique : 10 caractères (1 pour le type de fichier, puis 9 pour r=lecture, w=écriture, x=exécution, - = absent). Exemple :
-rwxr-xr--Cela indique : fichier normal ; propriétaire : rwx ; groupe : r-x ; autres : r--.
La notation numérique : 3 chiffres (propriétaire/groupe/autres), de 0 à 7 :
L'exemple -rwxr-xr-- équivaut à 755.
Voilà l'essentiel des permissions Linux.
Chmod (change mode) modifie les permissions d'un fichier sur systèmes Unix-like.
Ne la confondez pas avec chown (change owner) ou chgrp (change group), moins utilisées.
644 : propriétaire rw- (lecture/écriture) ; groupe et autres r-- (lecture seule). Idéal pour fichiers publics : modifiable par propriétaire, lisible par tous, non exécutable.
755 : propriétaire rwx ; groupe et autres r-x. Parfait pour répertoires publics (exécution requise pour accès).
555 : tous en lecture/exécution seule (sauf root pour écriture). Protège contre modifications accidentelles.
777 : rwx pour tous. Risque majeur de sécurité sur serveurs web ! Tout utilisateur peut modifier ou exécuter.
Syntaxe : chmod [permissions] [fichier]
Numérique (pour toutes classes) :
chmod 644 exemple.txtSymbolique (pour classe précise : u=utilisateur/propriétaire, g=groupe, o=autres ; +=ajout, -=suppression) :
chmod u=rwx exemple.txt
chmod g=rx exemple.txt
chmod o=r exemple.txtMulti-classes :
chmod u=rwx,go=rx exemple.txtAjout/suppression ciblée :
chmod u+x exemple.txt
chmod o-wx exemple.txtRécursif (-R) :
chmod -R 755 repertoire/Chmod est intuitive une fois les bases acquises !
Chmod n'est qu'un début. Pour débutants : astuces Linux, commandes à éviter, et notre guide complet Ubuntu/Linux.
[]