Aller au contenu principal

Jouons avec les permissions

Comment gérer les permissions dans un système Linux ?

C'est un aspect essentiel de la sécurité sous Linux, alors restez concentrés !

Notions théoriques

Concepts des permissions sous Linux

Sous Linux, chaque fichier et dossier a un ensemble de permissions qui déterminent qui peut :

  • lire,
  • écrire
  • ou exécuter un fichier.

Ces permissions sont divisées en 3 groupes:

  • le propriétaire du fichier,
  • le groupe du fichier
  • et les autres utilisateurs.

Chaque permission est représentée par un caractère :

  • 'r' pour lecture (read),
  • 'w' pour écriture (write)
  • et 'x' pour exécution (execute).

Si une permission n'est pas accordée, un '-' apparaît à la place du caractère correspondant.

Pour visualiser les permissions d'un fichier, utilisez la commande ls -l.

Télécharger le schéma

Par exemple, un fichier avec les permissions -rwxr-xr--

  • signifie que le propriétaire peut lire, écrire et exécuter le fichier,
  • les membres du groupe peuvent le lire et l'exécuter,
  • et les autres utilisateurs peuvent seulement le lire.

Pour modifier les permissions, on utilise la commande chmod.

Par exemple, pour donner à tous les utilisateurs le droit de lire et d'écrire un fichier, on utiliserait chmod a+rw nom_du_fichier.

remarque

Cette méthode de gestion des permissions ne couvre pas toutes les situations en entreprise.

Les réseaux d'entreprises nécessitent l'attribut de droits pour plusieurs groupes.

Pour combler ce manque Linux propose un système permettant de faire une gestion plus fine des droits d'accès aux fichiers appelé : Access Control List (ACL).

Les ACL permettent de donner à n'importe quel utilisateur, ou groupe, un des trois droits (lecture, écriture et exécution), et cela sans limitation du nombre d'utilisateurs à ajouter.

Résumé

La commande chmod est utilisée pour changer les permissions sur les fichiers et les répertoires dans les systèmes d'exploitation Unix/Linux.

Les lettres 'u', 'g', 'o' et 'a' sont utilisées pour spécifier à qui les permissions s'appliquent.

LettreSignificationDescription
UUserLe propriétaire du fichier. Les permissions définies avec 'u' affectent directement le propriétaire du fichier.
GGroupLe groupe du fichier. Les permissions définies avec 'g' affectent tous les utilisateurs qui font partie du groupe du fichier.
OOthersLes autres utilisateurs. Les permissions définies avec 'o' affectent tous les utilisateurs qui ne sont ni le propriétaire du fichier, ni membres du groupe du fichier.
AAllTous les utilisateurs. Les permissions définies avec 'a' affectent le propriétaire du fichier, les membres du groupe du fichier et tous les autres utilisateurs.

Exemple de mise en application

Imaginons que vous avez un fichier appelé mon_fichier.txt et que vous voulez donner à tous les utilisateurs le droit de le lire et d'écrire dedans.

Vous pouvez le faire avec la commande suivante:

chmod a+rw mon_fichier.txt

Ensuite, si vous voulez vérifier que les permissions ont été modifiées correctement, vous pouvez utiliser ls -l:

ls -l mon_fichier.txt

Cela devrait afficher quelque chose comme -rw-rw-rw-, ce qui signifie que tous les utilisateurs peuvent maintenant lire et écrire dans le fichier.

info

Nous verrons plus tard comment changer le propriétaire d'un fichier ou d'un répertoire.

Test de mémorisation/compréhension


Quelle commande permet de voir les permissions d'un fichier ?


Que signifie 'rwx' dans les permissions d'un fichier ?


Comment donner à tous les utilisateurs le droit de lire un fichier ?


Qu'est-ce que 'chmod' signifie ?


Quelle commande donne, au propriétaire, le droit d'exécution du fichier ?



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

Pour ce TP, nous allons créer un dossier de partage et définir les permissions appropriées pour permettre à tous les utilisateurs de lire et d'écrire dans ce dossier.

  1. Connectez-vous à votre serveur Linux.
  2. Créez un nouveau dossier appelé partage dans votre répertoire personnel ~.
  3. Donnez à tous les utilisateurs le droit de lire et d'écrire dans ce dossier.
  4. Vérifiez que les permissions ont été définies correctement.
Solutions possibles
ssh votre_nom_utilisateur@adresse_du_serveur

Voici les commandes que vous pouvez utiliser pour ce TP:

cd
mkdir partage
chmod a+rw partage
ls -l

ou

mkdir ~/partage
chmod a+rw ~/partage
ls -l ~/

La dernière commande devrait afficher drw-rw-rw-, ce qui signifie que tous les utilisateurs peuvent lire, écrire et entrer dans le dossier partage.