Skip to main content

Les permissions

Sur les systèmes d'exploitation de type Unix, un ensemble d'indicateurs associés à chaque fichier détermine qui peut accéder à ce fichier et comment il peut y accéder. Ces indicateurs sont appelés permissions ou modes de fichiers, comme dans "mode d'accès". Le nom de la commande chmod signifie "mode de modification". Elle restreint la manière dont on peut accéder à un fichier.

 

Visualisation des permissions dans la liste des fichiers

user@server:~$  ls -al /mnt/demo/
total 5753224
drwxr-xr-x 4 guest guest           4096 14 août  17:14  .
drwxr-xr-x 4 root  root            4096  3 janv.  2022  ..
-rw-r--r-- 1 guest guest             56 14 août  16:16  file-demo.txt
drwxr-xr-x 2 guest guest           4096 28 sept. 11:10  film
drwxr-xr-x 2 guest guest           4096 30 déc.   2021  serie
-rwxrw-r-- 1   hope   hopestaff  123   Feb 03 15:36   file.txt

Voici ce que signifie chaque partie de cette information :

- The first character represents the file type: "-" for a regular file, "d" for a directory, "l" for a symbolic link.
rwx The next three characters represent the permissions for the file's owner: the owner may read from, write to, ore xecute the file.
rw- The next three characters represent the permissions for members of the file group. Any member of the file's owning group may read from or write to the file. The final dash is a placeholder; group members do not have permission to execute this file.
r-- The permissions for "others" (everyone else). Others may only read this file.
1 The number of hard links to this file.
hope The file's owner.
hopestaff The group to whom the file belongs.
123 The size of the file in blocks.
Feb 03 15:36 The file's mtime (date and time when the file was last modified).
file.txt The name of the file.
-The first character represents the file type: "-" for a regular file, "d" for a directory, "l" for a symbolic link.
rwxThe next three characters represent the permissions for the file's owner: the owner may read from, write to, ore xecute the file.
rw-The next three characters represent the permissions for members of the file group. Any member of the file's owning group may read from or write to the file. The final dash is a placeholder; group members do not have permission to execute this file.
r--The permissions for "others" (everyone else). Others may only read this file.
1The number of hard links to this file.
hopeThe file's owner.
hopestaffThe group to whom the file belongs.
123The size of the file in blocks.
Feb 03 15:36The file's mtime (date and time when the file was last modified).
file.txtThe name of the file.

 

La commande chmod

chmod [OPTION]... MODE[,MODE]... FICHIER
			-v, --verbose          afficher un diagnostic pour chaque fichier traité
            -R, --recursive        modifier récursivement les fichiers et répertoires
                --help     		   afficher l''aide et quitter

Les lettres u, g et o signifient "utilisateur", "groupe" et "autre".

Le signe égal ("=") signifie "définir les autorisations exactement comme ceci".

Les lettres "r", "w" et "x" signifient "lire", "écrire" et "exécuter", respectivement. Les virgules séparent les différentes classes de permissions et ne sont pas séparées par des espaces.

Exemple : 

chmod u=rwx,g=rx,o=r myfile

Cette commande donne les droits suivants sur le fichier :

  • Le propriétaire du fichier peux lire, écrire et exécuter le fichier
  • Le groupe peux lire et exécuter le fichier
  • Les autre peuvent seulement le lire

Il existe une commande équivalente en numérique :

chmod 754 myfile

Ici, les chiffres 7, 5 et 4 représentent chacun individuellement les autorisations pour l'utilisateur, le groupe et les autres, dans cet ordre. 

Pour comprendre la valeur de ces trois chiffres, il faut connaitre la valeur des autorisations : 

  • 4 signifie "lire"
  • 2 signifie "écrire"
  • 1 signifie "exécuter"
  • 0 signifie "aucune permission"

Donc pour l'utilisateur on combine lire, écrire et exécuter soit 4 + 2 +1 = 7

Pour le groupe lire et exécuter soit 4 + 1 = 5

Et pour les autres seulement lire soit 4 = 4

Pour conclure la combinaison des droits a donner au fichier est 754