Aller au contenu
Administration Linux medium

Utilisateurs et groupes Linux

6 min de lecture

Sous Linux, chaque fichier et chaque processus appartiennent à un utilisateur et à un groupe. Ce modèle d’identité détermine qui peut lire, modifier ou exécuter quoi sur le système. Avant de toucher aux permissions ou à sudo, il faut comprendre qui vous êtes aux yeux du système — c’est l’objet de ce guide.

  • Identifier qui vous êtes avec whoami et id
  • Comprendre les UID et GID (identifiants numériques)
  • Connaître le rôle spécial de root (UID 0)
  • Lire les fichiers /etc/passwd et /etc/group
  • Distinguer groupe principal et groupes secondaires

Deux commandes répondent à cette question :

Fenêtre de terminal
whoami
Résultat
bob
Fenêtre de terminal
id
Résultat
uid=1000(bob) gid=1000(bob) groupes=1000(bob),27(sudo),100(users)

La commande id donne toutes les informations d’identité :

ChampSignification
uid=1000(bob)Identifiant numérique de l’utilisateur (UID)
gid=1000(bob)Groupe principal (GID)
groupes=...Liste de tous les groupes dont l’utilisateur est membre

Le système ne manipule pas des noms mais des numéros :

  • UID (User ID) : identifiant unique de chaque utilisateur
  • GID (Group ID) : identifiant unique de chaque groupe
UIDSignification
0root — le super-utilisateur, aucune restriction
1–999Comptes système (services : www-data, sshd, etc.)
1000+Comptes humains créés par l’administrateur

root (UID 0) peut tout faire sur le système : lire tous les fichiers, arrêter des services, modifier les comptes. C’est pour cette raison qu’on ne travaille jamais en permanence en tant que root.

En pratique, vous utilisez un compte normal et vous passez par sudo quand une tâche demande des privilèges (voir le guide Utiliser sudo).

Pour vérifier si vous êtes root, regardez le prompt :

CaractèreSignification
$Utilisateur normal
#root

Ce fichier liste tous les comptes du système, un par ligne :

Fenêtre de terminal
cat /etc/passwd | head -3
Résultat
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bob:x:1000:1000:Bob Martin:/home/bob:/bin/bash

Chaque ligne contient 7 champs séparés par : :

ChampExempleSignification
1bobNom d’utilisateur (login)
2xMot de passe (stocké dans /etc/shadow)
31000UID
41000GID du groupe principal
5Bob MartinDescription (nom complet)
6/home/bobRépertoire personnel
7/bin/bashShell de connexion

Pour afficher uniquement votre ligne :

Fenêtre de terminal
grep "^$(whoami):" /etc/passwd

Ce fichier liste tous les groupes :

Fenêtre de terminal
cat /etc/group | head -5
Résultat
root:x:0:
daemon:x:1:
sudo:x:27:bob
users:x:100:bob,alice
bob:x:1000:

Chaque ligne contient 4 champs :

ChampExempleSignification
1sudoNom du groupe
2xMot de passe du groupe (rarement utilisé)
327GID
4bobMembres secondaires (séparés par des virgules)

Chaque utilisateur appartient à :

  • Un groupe principal : défini dans /etc/passwd (champ GID). Quand vous créez un fichier, il appartient à ce groupe par défaut.
  • Zéro ou plusieurs groupes secondaires : définis dans /etc/group. Ils donnent des droits supplémentaires.

Pour voir vos groupes :

Fenêtre de terminal
groups
Résultat
bob sudo users

Le premier est votre groupe principal, les suivants sont les secondaires.

Quelques commandes utiles :

Fenêtre de terminal
# Compter les utilisateurs humains (UID >= 1000, sauf nobody)
awk -F: '$3 >= 1000 && $3 < 65534 {print $1}' /etc/passwd
# Lister les groupes dont vous êtes membre
id -Gn
# Voir les membres d'un groupe précis
getent group sudo
SymptômeCause probableSolution
id affiche un UID inattenduVous êtes connecté avec un autre compteVérifier avec whoami
groups ne montre pas un groupe attenduGroupe secondaire ajouté récemmentSe déconnecter et reconnecter pour actualiser
/etc/passwd semble vide ou incompletDroits de lecture retirés (rare)ls -l /etc/passwd — le fichier doit être lisible par tous (644)
Un script ignore le groupe secondaireLe processus a démarré avant l’ajout au groupeRelancer le script après reconnexion
  • Chaque utilisateur possède un UID et chaque groupe un GID.
  • root (UID 0) a tous les droits — ne travaillez pas en root au quotidien.
  • /etc/passwd contient les comptes, /etc/group contient les groupes.
  • Le groupe principal détermine l’appartenance par défaut des fichiers créés.
  • Les groupes secondaires accordent des droits supplémentaires.
  • whoami, id et groups permettent de vérifier votre identité.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn