Aller au contenu principal

Les permissions numériques

Notions théoriques

Nous avons vu que dans Linux, chaque fichier et répertoire a un ensemble de permissions qui détermine qui peut :

  • lire,
  • écrire
  • ou exécuter un fichier spécifique.
info

Ces permissions sont généralement exprimées en mode symbolique (comme nous l'avons vu précédemment), mais elles peuvent aussi être exprimées en mode numérique, ou "octal".

Chaque permission est, dans ce cas, représentée par un chiffre :

  • 4 pour "read" (lecture)
  • 2 pour "write" (écriture)
  • 1 pour "execute" (exécution)

Pour un fichier ou un répertoire,

  1. on additionne ces chiffres pour obtenir une représentation numérique de ses permissions.

    Par exemple :

    • une permission "read-write" sera représentée par 6 (4+2),
    • et une permission "read-execute" sera représentée par 5 (4+1).
  2. Ensuite, on assemble les 3 chiffres pour représenter les permissions du propriétaire, du groupe et des autres.

    Par exemple :

    • si le propriétaire a une permission "read-write-execute" 7 (4+2+1),

    • le groupe a une permission "read-execute" 5 (4+1),

    • et les autres ont une permission "read" 4 (4),

    les permissions seront représentées par le nombre 754.

Exemple

Prenons un exemple avec un fichier nommé "membres.txt".

Pour changer les permissions de ce fichier en mode numérique,

on peut utiliser la commande chmod suivie du nombre représentant les permissions, puis du nom du fichier.

Par exemple, pour donner :

  • au propriétaire une permission "read-write-execute",
  • au groupe une permission "read-execute",
  • et aux autres une permission "read",

on utiliserait la commande suivante :

chmod 754 membres.txt

Ensuite, on peut vérifier les permissions avec la commande ls -l :

ls -l membres.txt

Cela devrait afficher quelque chose comme ceci :

-rwxr-xr-- 1 sio sio 0 Nov 25 09:20 membres.txt

Résumé

Valeurs utilisées pour définir les permissions sur les fichiers et les répertoires dans les systèmes d'exploitation Unix/Linux.

  • La valeur alphanumérique est une représentation en lettres et symboles.
  • La valeur octale est une représentation en base 8 des permissions.
DroitValeur AlphanumériqueValeur Octale
Aucun droit---0
Exécution--x1
Écriture-w-2
Écriture et exécution-wx3
Lecturer--4
Lecture et exécutionr-x5
Lecture et écriturerw-6
Tous les droitsrwx7

Permissions sous Linux

Télécharger le schéma

Test de mémorisation/compréhension


Quelle est la représentation numérique de la permission 'read-write' ?


Quelle commande permet de changer les permissions d'un fichier en mode numérique ?


Si les permissions d'un fichier sont représentées par le nombre 754, qui a la permission 'read-write-execute' ?


Quelle commande permet de vérifier les permissions d'un fichier ?


Si les permissions d'un fichier sont représentées par le nombre 700, qui peut lire, écrire et exécuter ce fichier ?


Quelle est la représentation numérique de la permission 'read-execute' ?



TP pour réfléchir et résoudre des problèmes

Pour ce TP, nous allons créer le fichier "sharedfile.txt" dans votre répertoire personnel.

Nous allons ensuite modifier ses permissions en utilisant le mode numérique.

  1. Connectez-vous à votre serveur Linux.
  2. Naviguez vers votre répertoire personnel.
  3. Créez un nouveau fichier nommé "sharedfile.txt".
  4. En utilisant les valeurs numériques, modifiez les permissions de "sharedfile.txt" pour donner :
  • au propriétaire une permission "read-write",
  • au groupe une permission "read",
  • et aux autres aucune permission.

N'oubliez pas de vérifier vos modifications avec la commande ls -l.

Une solution
astuce

N'oubliez pas, la pratique est la clé pour maîtriser une nouvelle compétence. Donc, si vous n'avez pas réussi du premier coup, ne vous découragez pas et essayez à nouveau.