Gérer les différents droits sur les fichiers
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Attribuer ou retirer à des utilisateurs des permissions d’accès aux fichiers, avec un système d’exploitation qui respecte POSIX.
POSIX permet de définir de manière précise les différents droits des utilisateurs à des fichiers, on utilise pour cela la commande chmod suivie d’options qui vont définir une cible (propriétaire, groupe, autres), une méthode (+ ou –) et des permissions (lecture, écriture, exécution).
- La famille de normes POSIX
- Commandes de base Linux
La famille de normes POSIX (Portable Operating System Interface) permet de solliciter les services de base d'un système d'exploitation.
POSIX permet de définir de manière précise les différents droits des utilisateurs à des fichiers.
La commande de base ls permet de lister l’ensemble des fichiers et répertoires contenus dans le répertoire courant. Pour obtenir les droits associés, il suffit d'ajouter l’option -l.
On étudie l'exemple suivant.
La première lettre des lignes indique en premier lieu si on a affaire à un répertoire (premier caractère d) ou à un fichier (premier caractère -).
On a ensuite :
- un premier groupe de trois caractères pour les permissions du propriétaire ;
- puis trois caractères pour les permissions du groupe propriétaire ;
- et enfin trois caractères pour tous les autres utilisateurs.
- r signifie read donc « droit de lecture » : on peut lire le fichier.
- w signifie write donc « droit d’écriture » : on peut modifier le fichier.
- x signifie execute donc « droit d’exécution » : on peut exécuter.
- « - » signifie qu’on refuse le droit listé juste après.
On étudie la troisième ligne de la capture précédente, et plus particulièrement la sortie drwxr-xr-x.
- On est dans un répertoire (d).
- Le premier groupe de trois caractères donne les droits d’Alice : lecture, écriture et exécution.
- Le deuxième groupe de trois caractères donne les droits du groupe d’utilisateurs d’Alice : lecture et exécution (le droit d’écriture est refusé).
- Le dernier groupe de trois caractères donne les droits de tous les autres utilisateurs : lecture et exécution (le droit d’écriture est refusé).
chmod Cible Modification Permission chemin
- La cible : u pour user (propriétaire), g pour group (groupe) et o pour other (autres).
- La modification : + pour ajouter et - pour supprimer.
- La permission r pour read (droit de lecture), w pour writing (droit d’écriture), ou x pour execute (droit d’exécution).
On peut appliquer plusieurs modifications.
La commande chmod u-w,g-r chemin enlève le droit d’écriture au propriétaire (u-w) et enlève le droit de lecture au groupe (g-r) pour le fichier dont le chemin a été donné.
Si on veut modifier les droits de plusieurs types d’utilisateurs, on peut aussi regrouper les utilisateurs et regrouper les droits.
La commande chmod ug-wx fichier1 enlève les droits d’écriture et d’exécution au propriétaire et au groupe du propriétaire (ug-wx) pour fichier1.
II existe une autre catégorie de cible : a pour all, on l’utilise lorsqu’on veut mettre les mêmes droits à tout le monde.
Pour changer les droits d’un répertoire avec ce qu’il contient, il faut ajouter l’option -R à la commande chmod.
La commande chmod -R ugo-wx Dossier enlève les droits d’écriture et d’exécution (-wx) de tous les fichiers contenus dans le répertoire nommé Dossier (-R … Dossier), pour tout le monde (ugo).
Pour simplifier les écritures, on peut utiliser la valeur que l’on nomme octale pour désigner chaque groupe de trois caractères.
Le tableau ci-dessous donne la correspondance entre chaque groupe de trois caractères et la valeur octale associée.
Correspondances de représentation des droits | ||
Droit | Valeur alphanumérique | Valeur octale |
Aucun droit | --- | 0 |
Exécution seulement | --x | 1 |
Écriture seulement | -w- | 2 |
Écriture et exécution | -wx | 3 |
Lecture seulement | r-- | 4 |
Lecture et exécution | r-x | 5 |
Lecture et écriture | rw- | 6 |
Tous les droits (lecture, écriture et exécution) |
rwx | 7 |
La commande chmod 740 fichier donne tous les droits au propriétaire, le droit de lecture au groupe et aucun droit aux autres utilisateurs.
Vous avez obtenu75%de bonnes réponses !