Article mis à jour le : 05-05-2022
Comment gérer les droits et les propriétés des dossiers sous LinuxJ'ai vu des gens le faire sans comprendre ni chercher à comprendre de quoi il s'agissait : changer des droits ou le propriétaire d'un dossier. Ce n'est pas rien pourtant! Encore faut-il savoir à quoi correspondent ces commandes, ou avoir la curiosité. La dernière fois, c'était un type qui installait un WordPress sur un serveur privé "Allez, ca me fait ch... CHMOD 777, ca marche tout le temps".
Donc allons-y, évitons les carnages.
Tout d'abord un petit rappel :
La commande chown sert à changer le propriétaire d'un dossier sous Linux. Seul un super user peut l'utiliser.
sudo chown toto claramorgane.avi
La video appartient à présent a l'utilisateur toto.
Très important quand vous développez des applications Web : la commande CHMOD.
Quand vous faites un ls, vous avez juste l'affiche des dossier, mais si vous ajouter -l :
ls -l
vous aurez tous les droits détaillés sur chaque répertoire :
Explication de texte :
Pour chaque répertoire vous avez une suite de lettres, par exemple pour le premier :
drwxr-xr-x
La première lettre, d, signifie qu'il s'agir d'un répertoire (d pour Directory).
Ensuite, les trois paquets de 3 lettres collés les uns aux autres nous intéressent, puisqu'il s'agit dans l'ordre :
rwx signifique que l'on peut lire (r = read), écrire (w = write) et exécuter (x pour eXecute) des fichiers dans ce répertoire.
r-x signique que l'on peut unique lire et exécuter...
Maintenant, à quoi sert le CHMOD? On l'a dit, à changer ces droits. Comment ca marche? Avec un système de point :
Il faut additionner en fonction des droits souhaités sur le répertoire, pour avoir la valeur du CHMOD.
Exemple, je veux que tout le monde ait un accès total :
4+2+1 = 7, pour chacun = CHMOD 777
Maintenant, si je suis raisonnable, Seul le propriétaire peut tout faire, on revient comme dans la capture d'écran plus haut : les deux autres ne peuvent que lire et exécuter.
On a donc 7 pour le propriétaire, et 4 +1 pour les deux autres, donc :
CHMOD 755
Voilà! A utiliser à bon escient!
Edit : Pour rappel, cette commande ne marche par défaut que sur le dossier spécifié. Si vous souhaitez qu'elle marche sur toute son arborescence et son contenu, vous devez faire :
CHMOD -R 755