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 drwxr-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
chgpr - Changer le groupe propriétaire
Cette opération doit être effectué par root ou le propriétaire, à condition que celui-ci soit membre du nouveau groupe.
L'administrateur root n'est soumis à aucune restrictions, 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 ce 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 =.
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.
- 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-----
Source :libordux.org



