Commandes droits fichiers linux

Un article de WikiTuto.

Jump to: navigation, search

Linux


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)

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire