Les droits d'accès

Il faut d'abord noter qu'un fichier (ou un répertoire) appartient à un utilisateur et qu'un utilisateur appartient à un (ou plusieurs) groupe(s). Tapez la commande id pour voir votre nom d'utilisateur, l'ID associé, votre groupe et l'ID associé.

Chaque fichier ou répertoire possède des droits d'accès. Ils sont de 3 types :

Ces droits sont définis pour 3 types d'utilisateurs :

Pour voir, les droits d'accès, utilisez la commande ls -l :

exemple de droits d'accès

Dans cet exemple, les dossiers ont les droits suivants :drwxrwxr-x. Le d initial signifie qu'il s'agit d'un répertoire (pour Directory). Ensuite, rwx signifie que le propriétaire du répertoire à le droit de lire, écrire (et supprimer) et exécuter sur ce répertoire (Notez qu'il n'est pas possible d'exécuter un répertoire). rwx signifie que les membres du groupe auquel apartient le propriétaire du répertoire ont tous les droits sur ce répertoire. Enfin, r-x signifie que les autres utilisateurs (pas dans le groupe du propriétaire) ont le droit de lire et exécuter mais pas le droit d'écrire sur ce répertoire.

Modifier les droits d'accès

Pour modifier les droits d'accès sur les fichiers et les répertoires, utilisez la commande chmod (CHange MODus - faites un man chmod pour en savoir plus). Il y a deux manière d'utiliser la commande chmod.

Première méthode

La première manière d'utiliser chmod consiste à utiliser les identifiants r, w, x et u, g, o definis ci-dessus. Pour ajouter un droit, utilisez + et pour en enlever, utilisez -.

Ainsi pour donner les droits de lecture et d'exécution au propriétaire et au groupe et le droit de lecture au autres utilisateurs : chmod ug=rw,o=r fichier
Pour ajouter le droit d'exécution au propriétaire d'un fichier : chmod u+x fichier
Pour ajouter tous les droits à tout le monde : chmod ugo+rwx fichier
Pour enlever les droits d'écriture au groupe :chmod g-w fichier

Notez que l'on peut remplacer ugo par a (pour All).

Deuxième méthode

La deuxième métode utilise la notation octale : en effet, il y a 8 possiblités de droits pour un utilisateur (---, --x, -w-, -wx, r--, r-x, rw-, rwx). On utilisera donc des chiffres de 0 à 7 ayant la signification suivante :

ChiffreDroit
0Aucun
1x
2w
4r

Les combinaisons sont obtenues par addition des valeurs : pour avoir à la fois r et w, prendre la valeur 4+2=6. Inversement, 5 nous permet de déduire que sont attribués les droits r et x.

Avec cette méthode, il est nécessaire de spécifier les droits pour u, g et o (3 chiffres dans cet ordre). Ainsi la commande chmod ug=rw,o=r fichier est équivalente à : chmod 554 fichier

Permissions par défaut

Les droits appliqués à fichier par défaut à sa création peuvent être définis par la commande umask (User defined MASK). L'exécution de umask vous affichera le masque actuel (il devrait être 002 ou 022). Ce qui signifie que les droits par défaut sont 777-002=775 ou 777-022=755 (il s'agit d'un masque).

Pour faire en sorte que le (futur) propriétaire d'un fichier ait tous les droits et que tous les autres utilisateurs (même du groupe) n'aient aucun droit : umask 077. Ceci donnera les droits 700 aux futurs fichiers (7=rwx, 0=---, 0=---).

Changement de propriétaire

(Pas besoin d'actes notariés)

Pour changer le propriétaire d'un fichier ou d'un répertoire, utilisez la commande chown nom_du_nouvel_utilisateur fichier (CHange OWNer)

Pour changer le groupe d'un fichier ou d'un répertoire, utilisez la commande chgrp nom_du_nouveau_groupe fichier (CHange GROUP). NB : Le propriétaire du fichier doit appartenir au nouveau groupe.