Accueil > Shell Bash > Gestion des droits
Gestion des droits
jeudi 9 décembre 2021, par
- Lister les droits
Pour lister les droits dans un terminal, on utilise la commandels
avec l’option-l
et-d
pour un dossier. - 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. - 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>
- 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 (codeu
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 codea
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
(commandecd
) 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
- modes