Le fonctionnement des utilisateurs et groupes sur Linux

Dernière Mise à jour le

Linux comme tout système d’exploitation et OS permet de créer des utilisateurs afin de se connecter et utiliser votre PC.
Mais comment les informations des utilisateurs sont stockées dans Linux.
Comment en ajouter, supprimer, bref gérer les utilisateurs sur Linux.

Dans cet article donc vous trouverez toutes les informations sur le fonctionnement des utilisateurs sur Linux.

Le fonctionnement des utilisateurs et groupes sur Linux
Le fonctionnement des utilisateurs et groupes sur Linux

Le fonctionnement des utilisateurs sur Linux en général

Comme sur tous les systèmes d’exploitation, les utilisateurs permettent de se connecter à ce dernier.
Vous pouvez grâce à cet utilisateur ouvrir une session graphique ou en SSH.
Il est aussi possible depuis un terminal de se connecter à un autre utilisateur.
Enfin ces utilisateurs possèdent des accès différents sur Linux.

L’utilisateur root

Sur Linux, l’utilisateur root est l’utilisateur administrateur.
Le nom root ne peut être modifié et existe sur toutes les distributions Linux.
Ce dernier est créé par défaut à l’installation de Linux.

Lorsque vous souhaitez effectuer une action administrateur, vous devez vous identifier avec cet utilisateur root.
Ci-dessous, on change d’utilisateur grâce à la commande su.

L'utilisateur root ou administrateur de Linux

Toutefois pour simplifier les choses, l’utilitaire sudo a vu le jour.
Cet utilitaire permet de désigner des utilisateurs administrateur en les faisant joindre groupe.
A partir de là, ces derniers vont pouvoir à partir de la commande sudo lancer des commandes administrateurs.
Des distributions comme Ubuntu ou Mint proposent par défaut l’utilisation de sudo.

On peut donc très bien créer un nouvel utilisateur puis lui donner les autorisations administrateurs à travers sudo.
En général, il suffit d’ajouter ce dernier dans un groupe dédié (adm, sudo).

Ci-dessous la configuration des utilisateurs en graphiques, pour pouvoir modifier celle-ci, il faut déverrouiller l’accès.

sudo permet de s'identifier en administrateur sur Linux

Le mot de passe de l’utilisateur est alors demandé pour passer en administrateur.
C’est un peu le même type de fonctionnement que le contrôle des comptes utilisateurs UAC de Windows.

sudo permet de s'identifier en administrateur sur Linux

La configuration des utilisateurs et groupes sur Linux

Sur Windows, les informations de la configuration sont généralement stockées dans le registre Windows.
Sur Linux, la configuration est stockée dans des fichiers et plus particulièrement dans le dossier de configuration /etc.
Les informations des utilisateurs sur Linux sont stockés dans trois fichiers /etc/ :

  • /etc/passwd décrit le nom et UID des utilisateurs Linux et leurs dossiers home
  • /etc/groups contient les informations des groupes utilisateurs
  • /etc/shadow stocke les mots de passe des utilisateurs
  • /etc/gshadow contient les mots de passe des groupes utilisateurs Linux

/etc/passwd

Ces fichiers sont liés ente eux à travers les UID (identifiant unique) des utilisateurs Linux.
Chaque entrée dans le fichier est séparé par deux points.

/etc/passwd stocke la configuration utilisateur Linux

Voici un exemple de contenu du fichier /etc/passwd, on y trouve :

  • Le nom d’utilisateur
  • Son UID qui est utilisé par Linux pour travailler avec les utilisateurs. Ce dernier n’utilise pas les noms d’utilisateurs mais les UID. Ainsi par exemple c’est l’UID qui est appliqué aux systèmes de fichiers pour attribuer les autorisations sr les fichiers et dossiers lorsque vous utilisez la commande chown. Cet identifiant débute à 1000 pour les utilisateurs que vous ajoutez.
  • Le GUID (group UID) est l’identifiant du groupe de l’utilisateur Linux
  • Le shell : par exemple /bin/bash qui permet d’ouvrir une session. Avec /bin/nologin ou /bin/false, l’ouverture de session est impossible. En général, ce sont des utilisateurs systèmes.

La commande ID permet d’afficher les informations d’un utilisateur (UID, home, shell, …)

La commande ID permet d'afficher les informations d'un utilisateur (UID, home, shell, etc)

/etc/group

Le fichier /etc/group liste les groupes utilisateurs Linux.
Le nom puis son numéro de groupe est listé avec ensuite les utilisateurs qui font partie du groupe.

/etc/passwd stocke la configuration utilisateur Linux

Voici la structure d’une entrée /etc/group :

Par exemple ci-dessous, on peut voir que l’utilisateur tbd fait partie de plusieurs groupes adm, cdrom, sudo etc.
La commande groups le confirme puisqu’en fait elle liste le contenu du fichier /etc/group.

La commande groups pour lister les groupes d'un utilisateur Linux

/etc/shadow

Enfin le fichier /etc/shadow stocke les mots de passe utilisateur de manière haché.
Les numéros à la fin stockent le nombre de jours du dernier changement de mot de passe, le nombre de jours qui restent avant d’être changé, etc.

Le fichier /etc/shadow stocke les mots de passe utilisateur Linux

Voici la structure du fichier /etc/shadow :

Ces fichiers sont donc la cible d’attaque informatique afin de récupérer le contenu, notamment pour les serveurs.
A partir du fichier /etc/shadow il est possible de récupérer le mot de passe à partir d’attaque par Brute-force.

Les UID et GID dans les permissions de fichiers

Ce sont donc des identifiants uniques dans Linux qui identifie un utilisateur.
Ces derniers sont notamment appliqués aux dossiers afin de définir les permissions de fichiers.

Par exemple ci-dessous, le propriétaires des fichiers appartiennent pour la plupart à l’utilisateur malekalmorte.

Les UID et GID dans les permissions de fichiers

Pour appliquer ces permissions, on peut utiliser la commande chown :

chown malekalmorte.malekalmorte nomdufichier

ou on peut les définir avec l’UID et GID :

chown 1000.1000 nomdufichier

Dans la capture d’écran, on voit d’ailleurs que le fichier test.png appartient à un utilisateur avec l’UID et GID 1003.
Aucun nom n’apparaît car aucun utilisateur ne correspond à ces derniers.

Le shell (bash, dash, …)

L’utilisateur possède donc un dossier home définit dans /etc/passwd.
En général il se trouve dans /home bien que les utilisateurs systèmes ont souvent un autre emplacement.
Enfin il possède aussi un shell.
Pour les utilisateurs courants, il s’agit en général d’un programme de ligne de commandes comme bash, dash, etc.

Les shells suivantes correspondent à des utilisateurs systèmes :

  • /sbin/nologin
  • /bin/false

La commandes avec ces derniers n’est pas possible directement mais cela reste possible avec la commande su.
Les shells sont définis dans le fichier /etc/shells.

Dans le cas de bash, lorsque l’utilisateur s’identifie, il exécute la configuration générale /etc/bash.bashrc.
Celle-ci peut définir les couleurs du terminal, des alias, etc.

Mais l’utilisateur peut aussi personnaliser sa configuration à travers le fichier ~/.bashrc.
Cela lui permet de modifier les couleurs du terminal, créer ses propres alias ou modifier le PATH.

Ces fichiers permettent aussi d’exécuter des commandes.
Ainsi on peut exécuter une commande système par exemple augmenter le nombre de fichiers ouverts simultanément.

Créer, ajouter ou supprimer des utilisateurs Linux

A tout moment, il est possible d’ajouter ou supprimer des utilisateurs.
Cela peut se faire graphiquement à partir des paramètres de la distribution Linux.
Par exemple pour Ubuntu, vous pouvez lire notre article : Utilisateur et groupes Ubuntu : ajouter, supprimer

Bien entendu, cela peut se faire en ligne de commandes à partir d’un terminal.
Pour se faire, vous devez être identifié en tant que root ou utiliser un utilisateur administrateur avec la commande sudo.

  • adduser ou useradd : pour ajouter un utilisateur linux
  • userdel ou deluser : supprimer un utilisateur linux
  • usermod : La commande usermod modifie les fichiers d’administration des comptes du système selon les modifications qui ont été indiquées sur la ligne de commande
  • groupmod : pour modifier la configuration d’un groupe utilisateur
  • passwd : changer le mot de passe d’un utilisateur Linux
Il est tout à fait possible d’éditer les fichiers mentionnés précédemment pour ajouter ou supprimer des utilisateurs ou groupes.

Liens

Trouver la solution sur le forum d'aide

Vous êtes arrivé au terme de l'article Le fonctionnement des utilisateurs et groupes sur Linux mais vous n'avez pas trouvé la solution à votre problème...
Suivez ces articles du forum pour trouver une réponse ou demandez à votre tour de l'aide sur le forum


Vous avez trouvé cet article utile et interressant, n'hésitez pas à le partager...
Une question informatique ?
Un virus à supprimer ? Votre PC est lent ?
Demander de l'aide sur le forum
Tags:

Laisser un commentaire

21 Partages
Tweetez
Partagez21
Enregistrer
Partagez