Commandes droits fichiers linux
Un article de WikiTuto.
Sommaire |
Droits des fichiers
L'utilisateur qui crée un fichier en devient le propriétaire. Le groupe auquel appartient cet utilisateur devient le groupe du fichier. Lister les droits du contenu d'un répertoire
Pour lister les droits d'un répertoire vous pouvez utiliser la commande ls -l
drwxr-xr-x 4 leks leks 4096 2006-02-08 14:27 debian-l10n-french drwxr-xr-x 2 leks leks 4096 2006-02-02 21:35 debian-user-french -rw-rw-r-- 1 leks leks 39 2006-02-06 09:29 discover-video.txt drwx------ 14 leks leks 4096 2006-02-10 21:54 Docs -rwxr--r-- 1 leks leks 488 2006-02-11 18:55 greybar.jpg drwxr-xr-x 5 leks leks 4096 2006-02-14 19:54 Libordux drwxrwxr-x 6 leks leks 4096 2006-01-21 19:56 Musiques drwxr-xr-x 20 leks leks 4096 2006-02-12 19:58 Pics drwxr-xr-x 3 leks leks 4096 2006-02-06 16:35 public drwxr-xr-x 3 leks leks 4096 2006-02-08 11:25 Videos
Pour le premier caractère de la commande. Le d signifie un répertoire, le - signifie qu'il s'agit d'un fichier .txt, .html, .php ou autre et le l un lien.
Ensuite il y a 3 groupements de 3 caractères tel que rwxr-xr-x soit neuf caractères au total pour les permissions. Le r signifie readable (en lecture), w writable (en écriture) et x executable.
chown - Changer le propriétaire
Commande réservée à root et au propriétaire actuel des fichiers ou des répertoires L'option -R (récursif) permet d'agir sur l'ensemble des sous-répertoires.
# ou $ chown -R nouvel-utilisateur fichiers
- Exemple :
# ou $ chown -R libordux /home/musique
chgrp - Changer le groupe propriétaire
Cette opération doit être effectuée par root ou le propriétaire, à condition que celui-ci soit membre du nouveau groupe.
L'administrateur root n'est soumis à aucune restriction, il a le pouvoir absolu sur le système de fichiers.
# ou $ chgrp -R nouveau-groupe fichiers
- Exemple :
# ou $ chgrp -R musique /home/musique
chmod - Changer les permissions sur les fichiers
Les droits d'accès peuvent être modifiés par root ou par le propriétaire des fichiers (ou encore équivalent, d'uid 0).
La commande chmod (change mode, change le "mode" des fichiers) peut s'écrire sur le modèle chmod droits fichiers, le paramètre droits permet de calculer les nouveaux droits d'accès. Ceux-ci peuvent s'obtenir de façon relative, par le symbole + ou se retirer avec le symbole - par rapport aux droits existants, ou bien de façon absolue, en fixant les nouveaux droits qui remplacent les anciens avec le symbole =. Les droits de la commande chmod peuvent également s'exprimer de façon octale.
Ajout, retrait ou fixation des permissions
Chaque fichier est désigné par u, g et o les 3 catégories d'utilisateurs (user, group, other) et de plus par a (=all) tous les utilisateurs. Les 3 attributs de chaque fichier, r, w, x pour chaque catégorie d'utilisateur. L'action d'ajouter, de retirer ou de fixer un droit,+ - = qui s'applique à chaque catégorie séparément. En mode octal, on utilise la notation numérique de 0 à 7 pour identifier les permissions.
- Exemple
$ chmod u+x /home/musique
Ajoute le droit d'exécution au propriétaire du fichier.
On peut regrouper les catégories si on veut exercer la même action tel que :
$ chmod ug+w /home/musique
Cette commande ajouter le droit d'exécution au propriétaire et au groupe, et la commande suivante enlève tous droits d'accès à tous les utilisateurs, sauf au propriétaire
$ chmod go-rwx /home/musique
Notation relative
$ chmod -R action-droits fichiers
L'option -R (récursif) permet de modifier les permissions de tous les sous-répertoires, l'exemple qui suit enlève à tous sauf au propriétaire, toutes les permissions d'accès aux fichiers du répertoire personnel de leks ainsi que de ces sous-répertoires.
$ chmod -R go-rwx /home/leks
Notation absolue
Pour chaque groupe, elle permet de fixer les nouveaux droits qui remplacent les anciens. Si une catégorie n'est pas présente, ses anciens droits s'appliquent.
$ chmod u=rwx,g=rw,o=r /home/leks
Cette commande remplace les permissions précédentes des fichiers, en les fixant à -rwxrw-r--. Il ne doit y avoir aucun espace dans la liste des droits, pas même autour des éventuelles virgules.
$ chmod u=rwx,g=r /home/leks
Cette commande fixe les permissions à -rwxr--??? en ne changeant pas les permissions précédentes du groupe.
ou
$ chmod u=rwx,g=r,o= /home/leks
Fixe les permissions à -rwxr-----
Notation octale
Avec la notation octale, on fixe les permissions de l'utilisateur propriétaire (u), du groupe (g) et des autres (o) avec trois chiffres de 0 à 7 dans l'ordre suivant: "ugo". Pour savoir quel chiffre utiliser, il faut convertir rwx en 421 (r=4, w=2, x=1). On utilisera 0 pour enlever une permission. Ainsi, si on veut accorder les permissions en lecture et en écriture, on utilise 4+2+0=6... Si on veut retirer toutes les permissions on utilise 0+0+0=0. Finalement, il faut utiliser un chiffre pour le propriétaire (u), un pour le groupe (g) et un pour les autres (o). Il faut donc fournir 3 chiffres à chmod.
- Exemple
On veut accorder au propriétaire (u) tous les droits (rwx), au groupe (g) un droit en lecture seulement (r) et les autres (o) n'auront pas accès au fichier: rwx=4+2+1=7, r=4+0+0=4, pas d'accès=0+0+0=0 donc 740
$ chmod 740 /home/leks
Fixe les permissions à: -rwxr-----
On veut accorder au propriétaire (u) les droits en lecture et écriture (rw), au groupe (g) et aux autres (o) un droit en lecture seulement: rw=4+2+0=6, r=4+0+0=4 donc 644
$ chmod 644 /home/leks
Fixe les permissions à: -rw-r--r--
Source :libordux.org --Mikezeduke 14 juin 2009 à 17:27 (CEST)



