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--rwxrw-r-- 1 guest guestfriends           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 hopeguest hopestafffriends  	12356 Feb14 03août  15:3616:16  file.file-demo.txt

Voici ce que signifie chaque partie de cette information :

blocks
- TheLe firstpremier charactercaractère representsreprésente thele filetype type:de fichier : "-" forpour aun regularfichier file,ordinaire, "d"d" forpour aun directory,répertoire, "l"l" forpour aun symboliclien link.symbolique.
rwx TheLes nexttrois threecaractères characterssuivants representreprésentent theles permissions fordu thepropriétaire file'sdu owner:fichier the: ownerle maypropriétaire readpeut from,lire, writeécrire to,ou oreexécuter xecutele the file.fichier.
rw- TheLes nexttrois threecaractères characterssuivants representreprésentent theles permissionsautorisations forpour membersles ofmembres thedu filegroupe group.de Anyfichiers. memberTout ofmembre thedu file'sgroupe owningpropriétaire groupdu mayfichier readpeut fromlire orou writeécrire todans thele file.fichier. TheLe finaldernier dashtiret isest aun placeholder;caractère groupde membersremplacement do; notles havemembres permissiondu togroupe executen'ont thispas file.le droit d'exécuter ce fichier.
r-- TheLes permissions forpour "others"autres" (everyonetout else)le monde). OthersLes mayautres onlypeuvent readseulement thislire file.ce fichier.
1 TheLe numbernombre ofde hardliens linksmatériels tovers thisce file.fichier.
hopeguest TheLe file'spropriétaire owner.du fichier
hopestafffriends TheLe groupgroupe toauquel whomappartient thele file belongs.dossier.
12356 TheLa sizetaille ofdu thefichier fileen inblocs.
14 août 16:16Le mtime du fichier (date et heure de la dernière modification du fichier).
Feb 03 15:36The file's mtime (date and time when the file was last modified).
file.file-demo.txt TheLe namenom ofdu the file.fichier


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