L'utilisateur qui crée un fichier en devient le propriétaire. Le groupe auquel appartient cet utilisateur devient le groupe du fichier.
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.
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
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
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 =.
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
$ 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
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-----