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 :
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.
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.
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).
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 :
Chiffre | Droit |
---|---|
0 | Aucun |
1 | x |
2 | w |
4 | r |
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
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=---).
(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.