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 (user) une permission "read-write-execute",
  • au groupe (group) une permission "read-execute",
  • et aux autres (other) 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

Permissions de façon interactive !​

Source : https://rwx.forge.apps.education.fr/

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 (user) une permission "read-write",
  • au groupe (group) une permission "read",
  • et aux autres (other) 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.


S'entrainer pour mémoriser les permissions numériques (chmod octal)​

Dans cette section, vous allez pratiquer la commande chmod en mode numérique (octal) découverte dans cette séance.

FichierPermissions demandéesValeur octale
notes.txtrw-r--r--644
script.shrwxr-xr-x755
secret.txtrw-------600

Compléter le mot-clé manquant​

Dans chaque exercice, complétez le chiffre ou le mot manquant (indiqué par ___).

Écrire la ligne manquante​

Rédigez maintenant les lignes manquantes (indiquées par ___) pour compléter chaque commande.