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.

Table des matières
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 ou superutilisateur
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.

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.
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.
Qu’est-ce qu’un groupe Linux
Dans Linux, un groupe est un ensemble d’utilisateurs qui partagent les mêmes privilèges et autorisations. Les groupes sont utilisés pour organiser et gérer l’accès aux ressources du système, telles que les fichiers, les répertoires et les processus. En affectant des utilisateurs à des groupes, vous pouvez leur accorder des autorisations spécifiques sans avoir à les accorder individuellement à chaque utilisateur. Cela permet de gagner du temps et de l’énergie, mais aussi d’améliorer la sécurité en garantissant que seuls les utilisateurs autorisés ont accès aux ressources sensibles.
Il existe deux types de groupes sous Linux : les groupes primaires et les groupes supplémentaires, comme expliqué dans ce guide :
- Le groupe primaire d’un utilisateur est le groupe auquel il est automatiquement assigné lorsqu’il crée son compte. Le groupe primaire détermine les permissions par défaut des fichiers et des répertoires créés par l’utilisateur
- Les groupes supplémentaires sont des groupes auxquels un utilisateur est ajouté après la création de son compte. Les groupes supplémentaires n’affectent pas les autorisations par défaut des fichiers et des répertoires, mais ils peuvent être utilisés pour accorder des autorisations supplémentaires aux utilisateurs
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/group 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.
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, …)
/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.
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.
/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.
Voici la structure du fichier /etc/shadow :
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.
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.
Quelles sont les commandes Linux pour gérer les utilisateurs
Voici les commandes Linux de bases pour gérer les utilisateurs et groupes.
Commandes | Actions |
adduser ou useradd | Ajouter un utilisateur |
chage | Affiche les dates d’expirations d’un utilisateur Linux |
chmod | Changer les droits sur un fichier ou dossier |
chown | Changer le propriétaire |
chfn | Modifier le nom complet et les informations associées à un utilisateur |
chgrp | Changer le groupe propriétaire |
chpasswd | Mettre à jour des mots de passe par lot |
deluser ou userdel | Supprimer un utilisateur |
getent | Affiche les entrées des bases de données configurées dans le fichier /etc/nsswitch.conf |
groups | Renvoyer la liste des goupes dont l’utilisateur fait partie |
grpconv | Crée gshadow à partir de group et d’un gshadow existant |
grpunconv | Crée group à partir de group et de gshadow, puis supprime gshadow |
groupmod | Modifier la configuration d’un groupe utilisateur |
id | Renvoie les informationss UID – GID d’un utilisateur |
login | Démarrer une session sur le système |
passwd | Changer le mot de passe d’un utilisateur Linux |
pwck | Vérifier l’intégrité des fichiers de mots de passe |
pwconv | Crée shadow à partir de passwd et d’un shadow éventuellement existant. |
pwunconv | Crée passwd à partir de passwd et shadow, puis supprime shadow. |
su | su (switch user) est une commande qui permet de s’identifier avec un autre utilisation ou passer une commande avec un autre utilisateur |
sudo | Exécuter une commande avec un autre utilisateur |
sulogin | sulogin est invoqué par init lorsque le système passe en mode mono-utilisateur |
users | Montrer le nom d’utilisateur courant |
usermod | Modifier un compte utilisateur |
who | Affiche la liste des utilisateurs connectés à une machine (ordinateur) |
Pour plus de détails, suivez ces tutoriels :
- Comment gérer les utilisateurs/groupes sur Linux en ligne de commandes (adduser, addgroup, usermod, passwd, …)
- Ajouter un utilisateur à un groupe (ou à un deuxième groupe) sous Linux
- Utilisateur et groupes Ubuntu : ajouter, supprimer
Liens
- Le fonctionnement des utilisateurs et groupes sur Linux
- Gérer les utilisateurs/groupes sur Linux en ligne de commandes (adduser, addgroup, usermod, passwd, …)
- Le fichier /etc/group dans Linux
- Le fichier /etc/passwd dans Linux
- Comment utiliser la commande passwd de Linux avec des exemples
- La commande useradd : utilisations et exemples
- Utilisateur et groupes Ubuntu : comment ajouter, supprimer
- Ubuntu : comment passer un utilisateur en administrateur
- Comment lister les utilisateurs de Linux
- Comment lister les groupes dans Linux
- Comment utiliser la commande su avec des exemples sur Linux
- sudo : comment utiliser le configurer sudoers sur Linux (Debian, Ubuntu, Mint …)
- Comment ajouter un utilisateur à sudo (sudoers) dans Ubuntu ou Debian
- Comment utiliser la commande su avec des exemples sur Linux
- Qu’est-ce que /etc/shadow et son rôle