Accueil > Shell Bash > Gestion des droits

Gestion des droits

jeudi 9 décembre 2021, par lantsei

  1. Lister les droits
    Pour lister les droits dans un terminal, on utilise la commande ls avec l’option -l et -d pour un dossier.
  2. Droit d’accès aux fichiers
    À chaque fichier est associé un ensemble d’indicateurs précisant les droits d’accès au fichier.
    Ainsi à chaque fichier Gnu/Linux sont associés 10 attributs.
    1 attribut pour désigner le type :
     fichier ordinaire : -
     fichier répertoire : d
     fichier spécial : périphérique accédé en mode caractère : c
     fichier spécial : périphérique accédé en mode bloc : b
     tube nommé : p
     lien symbolique : l
     socket : s
    9 attributs de protection :
     autorisation d’écriture : w (write)
     autorisation de lecture : r (read)
     autorisation d’exécution : x (execute)
    2 attributs pour des droits spéciaux
     autorisations spéciales SetUID et SetGID : s pour +x et S pour -x
     autorisation spéciale Sticky bit : t pour +x et T pour -x
    Ainsi :
     3 attributs pour le propriétaire suivi de :
     3 attributs pour le groupe suivi de :
     3 attributs pour les autres utilisateurs.
    Exemple :

    Nous donne :

    Dans cet exemple, dans l’ordre de gauche à droite :
     -   = type de fichier dans notre cas c’est un fichier ordinaire.
     rw- = permission du propriétaire dans ce cas droit de lecture et d’écriture
     r-- = permission du groupe dans ce cas droit de lecture.
     r-- = permission des autres dans ce cas droit de lecture.

  3. Modification des Droits

    La commande chown peut être appliquée en une seule commande sur plusieurs fichiers et répertoires :

    La commande chown peut être appliquée récursivement sur le contenu d’un répertoire :

    Exemples :

    Nos donne :

    Modifier le groupe :

    Modifier le propriétaire :

    Modifier le groupe :

    On peut indiquer l’utilisateur et le groupe par chown utilisateur:groupe <fichier>

  4. Modification des permissions

    - -c, --changes : comme verbeux (-v) mais n’affiche que les changements effectués.
     --no-preserve-root : ne traite pas / (la racine du système de fichiers) spécialement (option par défaut).
    --preserve-root  : échec du traitement récursif (-R) sur / (la racine du système de fichiers).
     -f, --silent, --quiet : supprime la plupart des messages d’erreur.
     -v, --verbose : mode verbeux. Affiche la liste de tous les fichiers en cours de modification.
     -R, --recursive : change les modes de tous les fichiers dans les sous-répertoires de manière récursive.
     --help  : affiche l’aide de la commande chmod.
     --version : affiche les informations sur la version de chmod.

    • modes
      Pour chaque fichier donné, les permissions s’appliquent au propriétaire du fichier (code u comme user), au groupe d’utilisateurs du fichier (g comme group) ou aux autres utilisateurs (o comme others). Pour appliquer les modifications à tous en une seule fois, on utilise le code a comme all :

      Les modes peuvent être spécifiés de deux façons, avec des lettres ou avec des nombres en octal. Pour les lettres, il existe les opérateurs de changement d’état + et - pour ajouter ou retirer un type de droit aux droits courants, et l’opérateur = pour les écraser. Pour l’octal, il faut additionner les nombres pour chaque type de possesseur.
      Les permissions sont (valeurs octales entre parenthèses) :

      La permission d’exécution régit également l’accès à un répertoire : si l’exécution n’est pas autorisée sur un répertoire, on ne peut pas faire un chdir (commande cd) sur ce répertoire.

    • correspondances de représentation des droits
      droit valeur alphan°  valeur octale valeur binaire
      aucun droit --- 0 000
      exécution seulement --x 1 001
      écriture seulement -w- 2 010
      écriture et exécution -wx 3 011
      lecture seulement r-- 4 100
      lecture et exécution r-x 5 101
      lecture et écriture rw- 6 110
      tous les droits rwx 7 111