Aller au contenu

Gérer les permissions en environnement GNU-Linux

Linux se veut être un système robuste aux virus et aux intrusions, en partie grâce aux permissions applicables sur chaque fichier ou dossier. Un utilisateur classique connecté au système ne peut avoir avoir un accès en modification qu'aux fichiers présents dans son home, pour le reste il doit s'identifier en tant que super-utilisateur. En effet avec Linux, chaque fichier appartient à un utilisateur et un groupe, les permissions en lecture, écriture et exécutions peuvent être paramétrées pour chacun.

1. Gérer les utilisateurs et les groupes

1.1 Ajouter/Supprimer un utilisateur

  • Créer un nouvel utilisateur

Snippet

sudo adduser [nom]

Lors de la création d'un nouvel utilisateur le système demande un mot de passe, ainsi que plein d'autres renseignements tels que room phone number... Il n'est pas nécessaire de remplir ces informations appuyez sur entrer pour passer dessus.

Info

Lors de la création d'un nouvel utilisateur, linux crée automatiquement un groupe du même nom.

  • Se logger avec le nouvel utilisateur créé

Snippet

su [nom_utilisateur]

  • Supprimer un utilisateur

Snippet

sudo deluser [nom]

1.2 Ajouter/Supprimer un groupe

  • Ajouter un groupe

Snippet

sudo addgroup [nom]

  • Supprimer un groupe

Snippet

sudo delgroup [nom]

1.3 Ajouter/Retirer un utilisateur d'un groupe

  • Ajout d'un utilisateur à un groupe

Snippet

sudo adduser [utilisateur] [groupe]

  • Retrait d'un utilisateur d'un groupe

Snippet

sudo deluser [utilisateur] [groupe]

1.4 Visualiser les groupes d'appartenance d'un utilisateur

Snippet

sudo groups [utilisateur]

2. Voir les permissions attribuées

Pour lister les permissions des fichier ou dossiers contenus dans un répertoire, il suffit de taper la commande suivante dans votre terminal :

Snippet

ls -l

Et pour afficher également les permissions sur les fichiers et dossiers cachés :

Snippet

ls -al

Un exemple d'affichage des permissions du contenu du répertoire /home/marcel/ dans une distribution ubuntu :

Nous détaillons ci-dessous le contenu de la ligne du dossier Musique :

Une distribution Linux est organisée avec un ou plusieurs utilisateurs réparties dans des groupes. Dès qu'un nouvel utilisateur est créé il est automatiquement placé dans un groupe du même nom.

A chaque fichiers et dossiers sont attribués des permissions en lecture, écriture et exécution. Lors de l'affichage avec ls -l elles sont affichées de la manière suivante :

rwx # Droits en R-Lecture W-Écriture X-Exécution
r-x # Droits en R-Lecture et en X-Exécution
--x # Juste le droit en X-Exécution

3. Modifier les permissions

Pour modifier les permissions attribuées à un fichier ou un dossier il faut utiliser la commande :

Snippet

sudo chmod [options] [file or folder]

La modification se fait en désignant l'utilisateur u propriétaire pour user, le groupe g propriétaire pour group, et le restant a pour all.

Ci dessous quelques exemples de modifications effectuées sur le fichier foo :

sudo chmod a+x foo #Ajout au fichier foo du droit en execution pour tous les utilisateurs.

sudo chmod g-r foo #Retrait au fichier foo du droit en lecture pour le groupe.

sudo chmod u-x foo #Retrait au fichier foo du droit d'exécution pour l'utilisateur.

Nous montrons ci-dessous l'exemple du paramétrage des permissions effectué sur le fichier foo:

Remarquez qu'il nous faut dans cet exemple, trois lignes pour modifier les permissions du fichier foo, une autre technique nous permet de le faire d'un seul coup :

sudo chmod 637 foo #Attribution des permissions rw--wxrwx
Cette méthode est issue de la conversion binaire-décimal :

rw-|-wx|rwx ---> 110|011|111 --décimal--> 6|3|7

4. Modifier le propriétaire

La commande suivante permet de modifier le propriétaire d'un fichier ou un dossier :

Snippet

sudo chown [user] [file or folder]

Ci-dessous nous donnons un exemple de modification du propriétaire du fichier foobar :

sudo chowm alice foobar #Changement de propriétaire du fichier foobar pour l'utilisateur alice.

Ci-dessous nous donnons un exemple de modification du propriétaire du dossier Photos :

sudo chown -R alice Photos #Changement de propriétaire du dossier Photos pour l'utilisateur alice.

Info

L'option -R ajoutée à la commande chown est la récursivité elle permet de modifier le propriétaire sur le dossier et l'ensemble de son contenu.

Exemple de modification de propriétaire du dossier Documents :

5. Modifier le groupe

Pour modifier le groupe d'appartenance d'un fichier ou dossier, 2 options s'offrent à nous :

  • Utiliser la commande précédente de cette manière :

Snippet

sudo chown [user]:[group] [file or folder]

  • Utiliser la commande chgrp :

Snippet

sudo chgrp [group] [file or folder]

Ci-dessous un exemple de changement de groupe avec les deux commandes précédentes :