C14.5 : TD - Commandes Linux : Gestion des permissions
Généralités
Avec les systèmes d'exploitation basés sur un noyau Linux, les fichiers et dossiers ont des droits d'accès :
- - l'accès en lecture (lettre r pour "Read")
- - l'accès en écriture (lettre w pour "Write")
- - l'accès en exécution (lettre x pour "eXecute")
Les droits sont accordés à trois catégories d'utilisateurs :
- - le propriétaire (lettre u pour user)
- - le groupe d'utilisateur (lettre g pour "Group")
- - tous utilisateurs autres que le propriétaire et ceux du groupe (lettre o pour "Other")
- - tous les utilisateurs (lettre a pour "All")
Quelques commandes
La commande ls -l
La commande ls -l permet de voir la liste des fichiers et dossiers du répertoire en cours avec leurs permissions.
Chaque ligne qui s'affiche correspond à un dossier ou un fichier.
Pour chaque ligne :
- - la première lettre indique le type : - pour un fichier, d pour un répertoire...
- - les trois lettres suivantes indiquent les permissions du propriétaire
- - les trois lettres suivantes indiquent les permissions du groupe
- - les trois lettres suivantes indiquent les permissions des autres
- - suivent ensuite le nom du propriétaire et le nom du groupe
- ...
- - la dernière information est le nom du fichier ou du répertoire
La commande chmod
La commande chmod permet de modifier les droits d'accès à un fichier ou un répertoire.
Syntaxe
chmod [ugoal][+-=][rwx] <fichier/répertoire>
- ⇝
[ugoal]est la lettre correspondant au destinataire du droit d'accès : u, g, o ou a - ⇝
[+-=]est le symbole qui définit la façon de gérer la modification des droits : + pour ajouter ajouter, - pour enlever et = redéfinir le droit d'accès - ⇝
[rwx]est un ensemble de 3 lettres pour spécifier les droits que l'on attribue (si la lettre est présente le droit est pris en compte, sinon, il y a un-) - ⇝
<fichier/répertoire>est le chemin vers le fichier ou le dossier
Exemples
• chmod a-wx chat.txt : permet de retirer à tous les utilisateurs la possibilité de modifier et d'exécuter le fichier chat.txt
• chmod o+rw chien.txt : permet d'ajouter aux utilisateurs autres que le propriétaire et ceux du groupe, la possibilité de lire et de modifier le fichier chien.txt
• chmod u=r souris.txt : permet de faire en sorte que le propriétaire n'est autorisé qu'à lire le fichier souris.txt
Application
⚠ L'application qui suit doit se faire par deux, chacun sur son ordinateur.
Accès en lecture
Demander à son voisin de créer, dans la racine de son espace, un nouveau répertoire nommée modif_droits_pX (la partie pX sera remplacée par le nom d'utilisateur).
Écrire la commande qui vous permet de déterminer qui possède les droits de lecture, d’écriture et d’exécution sur ce répertoire (qui est dans l'espace de son voisin).
Essayer de lire le contenu du répertoire. Que constatez vous ?
Demander à son voisin de vous donner les droits de lecture du répertoire à l’aide de la commande chmod.
Écrire la commande qui vous permet de déterminer qui possède les droits de lecture, d’écriture et d’exécution sur ce répertoire.
Essayer, à nouveau, de lire le répertoire de son voisin. Que constatez vous ?
Accès en écriture
Essayer de créer un fichier nommé chat.txt dans le répertoire de son voisin. Que constatez vous ?
Demander à son voisin de vous donner les droits d'écriture du répertoire à l’aide de la commande chmod.
Écrire la commande qui vous permet de déterminer qui possède les droits de lecture, d’écriture et d’exécution sur ce répertoire.
Créer un fichier nommé chat.txt dans le répertoire de son voisin. Que constatez vous ?
Ajouter du texte dans le fichier chat.txt de son voisin. Peut-être sera-t-il nécessaire de demander à votre voisin de modifier les droits d'accès à ce fichier...
Lire le texte que son voisin a ajouté dans le fichier chat.txt.
Pour finir, rappeler à son voisin qu'il devrait retirer les droits de lecture et d’écriture sur le répertoire, et qu'après l'avoir fait il devrait vérifier que c'est bien le cas avec la commande ls -l.