420-1Q1-AA Help

Permissions

Les permissions en Linux sont un élément fondamental de la sécurité du système. Elles déterminent qui peut lire, modifier, ou exécuter des fichiers et des répertoires. Les permissions sont cruciales dans un système multi-utilisateur comme Linux, où elles garantissent la sécurité des données de chaque utilisateur.

1. Système de Permissions de Linux

Chaque fichier et répertoire sous Linux possède trois types de permissions : Lecture (Read), Écriture (Write), et Exécution (Execute). Ces permissions sont définies pour trois types de propriétaires :

  • Propriétaire (User) : L'utilisateur qui possède le fichier ou le répertoire.

  • Groupe (Group) : Le groupe auquel appartient le fichier ou le répertoire.

  • Autres (Others) : Tous les autres utilisateurs.

Les permissions sont souvent affichées sous forme de chaîne de caractères de dix positions, par exemple :

-rwxr-xr--

Voici comment interpréter cette chaîne :

  1. Premier caractère (-) : Indique le type de fichier.

    • -: Fichier normal

    • d: Répertoire (dossier)

    • l: Lien symbolique

  2. Caractères 2-4 (rwx) : Permissions du propriétaire (user).

    • r: Lire (read)

    • w: Écrire (write)

    • x: Exécuter (execute)

  3. Caractères 5-7 (r-x) : Permissions du groupe (group).

    • r: Lire

    • -: Pas de permission d'écriture

    • x: Exécuter

  4. Caractères 8-10 (r--) : Permissions des autres utilisateurs (others).

    • r: Lire

    • -: Pas de permission d'écriture

    • -: Pas de permission d'exécution

2. Utiliser la Commande ls -l pour Afficher les Permissions

Pour voir les permissions d'un fichier ou d'un répertoire, utilisez la commande ls -l:

ls -l

La sortie pourrait ressembler à ceci :

-rwxr-xr-- 1 user group 1024 Mar 25 10:00 fichier.txt
  • -rwxr-xr--: Les permissions.

  • 1: Nombre de liens vers le fichier.

  • user: Propriétaire du fichier.

  • group: Groupe propriétaire du fichier.

  • 1024: Taille du fichier (en octets).

  • Mar 25 10:00: Date et heure de la dernière modification.

  • fichier.txt: Nom du fichier.

3. Modifier les Permissions avec chmod

La commande chmod est utilisée pour modifier les permissions d'un fichier ou d'un répertoire. Il y a deux façons principales d'utiliser chmod: notation symbolique et notation numérique.

a. Notation Symbolique

La notation symbolique utilise des lettres pour indiquer les permissions à ajouter, retirer ou définir.

  • Syntaxe: chmod [qui][action][permission] fichier

    • qui: u (propriétaire), g (groupe), o (autres), a (tous).

    • action: + (ajouter), - (retirer), = (définir).

    • permission: r (lecture), w (écriture), x (exécution).

Exemples:

  • Ajouter la permission d'exécution au propriétaire :

    chmod u+x fichier.txt
  • Retirer la permission de lecture au groupe :

    chmod g-r fichier.txt
  • Définir des permissions spécifiques pour tous les utilisateurs (lecture et écriture uniquement) :

    chmod a=rw fichier.txt

b. Notation Numérique

La notation numérique (octale) utilise des chiffres pour représenter les permissions. Chaque permission est attribuée une valeur numérique :

  • Lecture (r): 4

  • Écriture (w): 2

  • Exécution (x): 1

Pour définir les permissions, on additionne les valeurs :

  • Lecture, écriture et exécution (rwx): 4 + 2 + 1 = 7

  • Lecture et écriture (rw-): 4 + 2 = 6

  • Lecture et exécution (r-x): 4 + 1 = 5

La commande chmod utilise trois chiffres pour représenter les permissions du propriétaire, du groupe, et des autres.

Exemples:

  • Définir les permissions à rwx pour le propriétaire, r-x pour le groupe, et r-- pour les autres :

    chmod 754 fichier.txt
    • 7: Le propriétaire peut lire, écrire, et exécuter.

    • 5: Le groupe peut lire et exécuter.

    • 4: Les autres peuvent seulement lire.

  • Définir les permissions à rw- pour le propriétaire, r-- pour le groupe, et rien pour les autres :

    chmod 640 fichier.txt

4. Modifier le Propriétaire et le Groupe avec chown

La commande chown est utilisée pour modifier le propriétaire et/ou le groupe d'un fichier ou d'un répertoire.

Syntaxe: chown [propriétaire][:groupe] fichier

Exemples:

  • Modifier le propriétaire du fichier à alice:

    sudo chown alice fichier.txt
  • Modifier le propriétaire et le groupe du fichier à alice et staff:

    sudo chown alice:staff fichier.txt

5. Commande chgrp pour Changer le Groupe

La commande chgrp est utilisée pour changer le groupe d'un fichier ou d'un répertoire.

Syntaxe: chgrp [groupe] fichier

Exemple:

  • Modifier le groupe du fichier à staff:

    sudo chgrp staff fichier.txt

6. Permissions Spéciales

En plus des permissions de base, Linux propose des permissions spéciales pour les fichiers et répertoires :

a. SUID (Set User ID)

Lorsque le bit SUID est défini sur un fichier exécutable, les utilisateurs exécutant ce fichier obtiennent les permissions du propriétaire pendant l'exécution.

sudo est nécessaire ici!

Exemple:

  • Pour définir le bit SUID :

    sudo chmod u+s fichier

b. SGID (Set Group ID)

Lorsque le bit SGID est défini sur un répertoire, tous les fichiers créés dans ce répertoire appartiendront au même groupe que le répertoire.

Exemple:

  • Pour définir le bit SGID sur un répertoire :

    chmod g+s repertoire

c. Sticky Bit

Le sticky bit est utilisé sur des répertoires pour faire en sorte que seuls le propriétaire du fichier (ou le superutilisateur) puisse le supprimer ou le renommer. Cela est souvent utilisé pour les répertoires comme /tmp.

Exemple:

  • Pour définir le sticky bit :

    chmod +t /tmp

7. Masque de Permission (umask)

Le umask est un paramètre qui contrôle les permissions par défaut des nouveaux fichiers et répertoires. Par exemple, si le umask est défini à 022, les fichiers nouvellement créés auront des permissions par défaut de 644 (rw-r--r--).

Pour voir le umask actuel :

umask

Pour définir le umask:

umask 027

Conclusion

Les permissions en Linux permettent de contrôler qui peut accéder aux fichiers et répertoires et de quelle manière. Elles sont essentielles pour garantir la sécurité et l'intégrité des données, notamment dans un environnement multi-utilisateur. Comprendre et utiliser les commandes comme chmod, chown, et chgrp vous permet de bien gérer les accès et la sécurité sur votre système Linux.

Last modified: 11 November 2024