Droits

De Justine's wiki
Aller à la navigation Aller à la recherche

Les droits sous Linux

Il y'a 3 types de droits sous Linux:

  • Lecture (r)
  • Écriture (w)
  • Exécution (x)

À noter : le droit d'exécution sur un répertoire permet d'entrer dans celui-ci.

Ces droits portent sur trois objets:

  • L'utilisateur (u)
  • Le groupe (g)
  • Les autres (o)

Lecture des droits

Une commande comme ls -l permet de voir les droits en vigueur sur les objets. Ils se lisent de la façon suivante:

drwxrwxr-x 2 justine justine 4096 oct.   5 03:32 Backup-conf

De gauche à droite:

  • d : le type d'objet, ici d pour directory (- pour fichier, l pour un lien)
  • rwx : Les droits utilisateur
  • rwx : Les droits du groupe
  • r-- : les droits des autres
  • justine : nom du propriétaire
  • justine : Nom du groupe
  • suivent la date et l'heure de dernière modification, et le nom de l'objet

NB : Root a tous les droits sur tout le système !

Lorsque je créé un répertoire, on aura au minimum les droits de lecture et exécution sur celui-ci.

Gestion des droits

Changer de propriétaire

Seul root peut le faire, avec la commande chown.

sudo chown alice dossier_test/

Changer de groupe

Ici le propriétaire actuel peut changer le groupe d'un fichier (et pas seulement root), avec chgrp:

chgrp alice dossier_test/

 Administrer les droits

Avec la commande chmod, de la façon suivante:

Méthode relative

La méthode plus simple:

  • on va d'abord indiquer sur qui va porter le changement (u, g, o, ou a pour tout le monde)
  • Puis l'action à faire : + pour ajouter un droit, - pour en enlever un, = pour l'affecter
  • puis le droit que l'on souhaite modifier : r, w, x

Par exemple:

 sudo chmod o-rx dossier_test/   //Ici, je supprime r et x aux autres

Méthode absolue

Cette méthode utilise la représentation octale, avec des chiffres. Elle est plus puissante car on peut modifier les droits de tout le monde d'un seul coup. Les valeurs sont les suivantes:

Lecture 4
Écriture 2
Exécution 1
Pas de droit 0

Il suffit du coup de les combiner en les additionnant. Ainsi ma commande chmod suivie de trois chiffres indique les droits pour u, g et o d'un coup.

Exemple:

sudo chmod 760 dossier_test/ //u a tous les droits, g a lecture et exécution, o n'as aucun droit

L'argument de récursion de chmod est -R