Gestion des permissions utilisateurs sous GNU/linux

Les permission sur les fichiers, la gestion des utilisateurs et des groupes sous linux est le lots quotidien des développeurs web et des administrateurs système.
Essayons de voir un peu de quoi il en retourne.

Affichage des droits des fichiers

Pour afficher les droits des fichiers d’un répertoire utilisez la commande suivante :

Vous alors comprendre le résultat de l’affichage du résultat les droits d’accès aux fichier apparaissent par une liste de 10 symboles tel que : drwxrwxrwx

Le premier symbolise la nature du fichier soit « » pour un fichier, « d » pour un répertoire et « l » pour un lien.

Puis vient alors 3 fois, 3 symboles qui indiquent si le fichier ou le répertoire est autorisé en lecture, écriture et exécution, chacun des 3 groupes correspondent aux droits du propriétaire, du groupe puis des utilisateurs.

Ces lettres rwx sont utilisées pour définir les permissions, dans le cas ou la permission n’est pas effective, la lettre sera remplacé par un « ».
Ces lettres correspondent à :

  • r : pour read
  • w : pour write
  • x : pour execute

En ce qui concerne les groupes de lettres elles symbolise dans l’ordre le propriétaire / le groupe / les autres

Prenons l’exemple suivant :

  • d : Il s’agit d’un répertoire.
  • rwx : le 1er groupe de 3 symboles correspond à : le propriétaire peut lire, écrire et exécuter.
  • rw- pour le 2nd groupe de 3 symboles correspond à : le groupe peut lire et écrire
  • r-- pour le 3ème groupe de 3 symboles correspond à : les autres peuvent uniquement lire
  • propriétaire groupe correspond évidemment au propriétaire et au groupe du fichier

Modifier les permissions

Maintenant, que nous avons vu comment lire les permissions sur les fichiers, attelons nous maintenant à voir comment les modifier.

chown

La commande chown correspond à la commande de changement de propriétaire du fichier. Seuls le propriétaire actuel ou le super-utilisateur ont le droit d’utiliser la commande chown. De la façon suivante :

Le fichier nomfichier appartient désormais à l’utilisateur monutilisateur.

Vous pouvez utiliser la commande chown pour changer le propriétaire du fichier et le groupe auquel il appartient :

chmod

La commande chmod permet d’effectuer une modification des permissions d’un fichier. Sachez que cette commande peut s’utiliser de deux façons soit à l’aide de chiffres, soit en ajoutant ou en retirant des permissions à une ou plusieurs catégories d’utilisateurs grâce aux symboles que nous avons vu précédemment r w et x.

Nous allons voir ici la première méthode : la manière octal

Pour cela vous devez connaitre ces 3 chiffres :

  • 1 : correspondant aux droit d’exécution
  • 2 : correspondant aux droit d’écriture
  • 4 : correspondant aux droit de lecture

Ces droits sont cumulable de sorte que le chiffre 6 correspond à 4 + 2 et donc écriture + lecture, de cette façon vous pouvez obtenir les différentes combinaison permettant de gérer les droits des fichiers

Exemple :

  • rwx >> 4+2+1 et donc 7
  • rw- >> 4+2+0 et donc 6
  • r-- >> 4+0+0 et donc 4

Si l’on prend l’exemple suivant de permission d’un fichier :

En octal, cela correspond à  750 :

C’est donc à l’aide de la commande suivante que l’on peut appliquer ces droits à un fichier

Application Récursive

Dans le cas d’un dossier complet ou un ensemble de dossiers imbriqué, vous n’avez évidemment pas à effectuer cette commande sur chaque fichier, nous allons utiliser l’option -R afin  d’appliquer les permission de façon récursive à l’ensemble des fichiers.

Attention cependant à ce que vous faites !! Ces options mal utilisé peut rendre votre système instable voir inutilisable!

Cette commande donnera les droits complet au propriétaire, ceux de lecture et exécution au groupe puis aucuns droits aux autres.

Sudo et Visudo

Dans certains cas un utilisateur doit devenir administrateur pour cela vous devez utiliser le filtre sudo de la façon suivante :

Cependant pour qu’un utilisateur puisse utiliser cette commande il doit avoir les droits root sur le système. Afin d’octroyer ces droits à un utilisateur il vous faudra utiliser la commande suivante (lancé par l’utilisateur root) :

Note : Avant d’utiliser cette commande si vous aussi vous haïssez purement et simplement l’éditeur nano il vous faudra effectuer cette commande afin de changer l’éditeur par défaut de votre terminal :

Sélectionner alors votre éditeur préféré (vim pour ma part!)

L’affichage de la commande sudo visudo vous donnera quelque chose du genre :

Examinons en détail les 3 dernières lignes :

  • root ALL=(ALL) ALL : est une la ligne de base du fichier qui donne pleins pouvoir à au super utilisateur root
  • utilisateur ALL=(ALL) ALL : permet à utilisateur de devenir super-utilisateur à son tour
  • %groupe ALL=NOPASSWD: /etc/init.d/apache,/etc/init.d/dnsmasq,/etc/init.d/squid3,/sbin/reboot : permet au groupe mongroupe de lancer des commandes mentionnés ci-après en sudo (très utile dans le cas ou vous voulez permettre à certain de vos utilisateur de redémarrer apache, dnsmasq, squid, ou le serveur lui-même)

Voila nous sommes à la fin de ce tutoriel sur la gestion des permissions utilisateurs, j’espère avoir pu vous aider à mieux appréhender cette partie sauvant méconnue des utilisateur ayant récemment migré sur un système GNU/Linux.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partenaires

Cekome Graal Network Panoramaweb