Guide Magistral : Gestion des Identités, des Groupes et
des Privilèges sous Linux
Sommaire Détaillé
1 Introduction : La Philosophie de l'Identité sous Linux
2 I. Architecture Fondamentale des Identités
◦ A. Anatomie d'un Utilisateur (UID, GECOS, Shells)
◦ B. Structure des Groupes (GID, Primaires vs Secondaires)
◦ C. Le Mythe du Root : Réalités et Dangers
3 II. Les Registres du Système (Fichiers de Configuration)
◦ A. /etc/passwd et /etc/shadow : Le binôme de l'authentification
◦ B. /etc/group et /etc/gshadow : La hiérarchie sociale
◦ C. /etc/skel et /etc/[Link] : Standardisation des environnements
4 III. Arsenal de l'Administrateur (Commandes et Outils)
◦ A. Cycle de vie des comptes (useradd, usermod, userdel)
◦ B. Gestion dynamique des groupes (groupadd, gpasswd)
◦ C. Outils d'inspection et d'audit (id, getent, lastlog)
5 IV. La Matrice des Permissions et Privilèges
◦ A. Le Modèle UGO (Standard POSIX)
◦ B. Bits Spéciaux (SUID, SGID, Sticky Bit) : Usages et Risques
◦ C. Attributs de Fichiers Étendus (chattr, lsattr)
6 V. Ingénierie de la Délégation : Sudoers
◦ A. Syntaxe Avancée et Alias
◦ B. Sécurisation de visudo et inclusion de fichiers
7 VI. Notions Expertes : Au-delà du Modèle Classique
◦ A. ACL (Access Control Lists) : Granularité Chirurgicale
◦ B. Linux Capabilities : Le démantèlement du Root
◦ C. Namespaces Utilisateurs : Isolation et Conteneurisation
◦ D. PAM (Pluggable Authentication Modules) : La Stack d'Authentification
8 VII. Surveillance et Audit de l'Activité
◦ A. Introduction à auditd
◦ B. Traçage des modifications de comptes
9 VIII. Cas Pratique Expert : Déploiement Sécurisé "TechCorp"
◦ A. Scénario et Objectifs
◦ B. Implémentation Pas à Pas
◦ C. Tests Fonctionnels et Audit de Sécurité
10 Conclusion : Vers une Gestion Immuable
11 Références
Introduction
Dans l'architecture Unix/Linux, tout est fichier, et chaque action est rattachée à une identité.
La gestion des utilisateurs et des groupes n'est pas une simple tâche administrative ; c'est la
mise en œuvre de la politique de sécurité d'une organisation. Un administrateur professionnel
doit percevoir le système non pas comme une collection de comptes, mais comme un réseau
complexe de privilèges et d'isolations. Cet exposé détaille les mécanismes internes, des
fichiers de base aux fonctionnalités avancées du noyau, pour offrir une vision à 360 degrés de
la gestion des identités.
I. Architecture Fondamentale des Identités
A. Anatomie d'un Utilisateur
Un utilisateur n'est, pour le noyau Linux, qu'un simple nombre : l'UID (User Identifier).
• UID 0 (Root) : L'unique identifiant contournant toutes les vérifications de
permissions du noyau.
• UIDs Systèmes (1-999) : Destinés aux services (ex: systemd-network, messagebus).
Ils ne possèdent généralement pas de mot de passe ni de shell interactif
(/sbin/nologin).
• UIDs Utilisateurs (1000+) : Attribués aux humains.
B. Structure des Groupes
Le GID (Group Identifier) permet de regrouper les utilisateurs pour une gestion collective
des droits.
• Groupe Primaire : Défini dans /etc/passwd, il est le groupe propriétaire par défaut de
tout fichier créé par l'utilisateur.
• Groupes Secondaires : Permettent une appartenance multiple, essentielle pour le
travail collaboratif (ex: groupe docker, sudo, webmasters).
II. Les Registres du Système
A. Le binôme de l'authentification
Le fichier /etc/passwd est public (lecture pour tous) car de nombreux outils (comme ls) ont
besoin de traduire les UIDs en noms. En revanche, /etc/shadow est le coffre-fort.
Note de sécurité : Le passage des mots de passe de passwd vers shadow (système
"shadow passwords") a été l'une des premières grandes évolutions de sécurité sous Unix
pour empêcher les attaques par force brute hors ligne sur les hashs.
B. Standardisation : /etc/[Link]
Ce fichier définit les paramètres par défaut pour la création de comptes : plage d'UIDs, durée
de validité des mots de passe, algorithme de hachage (ex: SHA512, Yescrypt).
III. Arsenal de l'Administrateur
Commande Usage Professionnel Astuce d'Expert
Utilisez -K pour surcharger les
useradd Création de compte
valeurs de [Link].
usermod -L pour verrouiller un
usermod Modification de profil
compte instantanément.
chage -d 0 user force le
chage Gestion de l'expiration changement de mot de passe à la
prochaine connexion.
getent passwd interroge aussi bien
getent Interrogation des bases
les fichiers locaux que LDAP/AD.
IV. La Matrice des Permissions et Privilèges
A. Bits Spéciaux : La Puissance et le Risque
12 SUID (Set Owner User ID) : L'exécutable tourne avec les droits du propriétaire
(souvent root). Danger : une faille dans l'exécutable donne un accès root.
13 SGID (Set Group ID) : Sur un répertoire, force les nouveaux fichiers à appartenir au
groupe du répertoire. Indispensable pour les dossiers partagés.
14 Sticky Bit : Seul le propriétaire d'un fichier peut le supprimer dans un répertoire où
tout le monde a les droits d'écriture (ex: /tmp).
B. Attributs Étendus (chattr)
Certains attributs vont au-delà des permissions rwx :
• i (Immutable) : Même root ne peut pas modifier ou supprimer le fichier.
• a (Append only) : On ne peut qu'ajouter du contenu (idéal pour les logs).
V. Ingénierie de la Délégation : Sudoers
Le fichier /etc/sudoers doit être géré comme du code.
• Alias : Regroupez vos serveurs (Host_Alias), vos utilisateurs (User_Alias) et vos
commandes (Cmnd_Alias) pour une maintenance simplifiée.
• Sécurité : Utilisez Defaults use_pty pour empêcher certaines attaques de
détournement de terminal.
VI. Notions Expertes
A. Linux Capabilities
Plutôt que de donner tous les droits root à un binaire via SUID, on lui donne une "capacité"
spécifique.
• CAP_NET_BIND_SERVICE : Permet à un service (ex: Apache) de s'écouter sur un
port < 1024 sans être root.
• CAP_SYS_TIME : Permet de modifier l'heure système.
• Commande : setcap 'cap_net_bind_service=+ep' /usr/sbin/httpd
B. Namespaces Utilisateurs
C'est la base de la technologie des conteneurs (Docker, LXC). Un utilisateur peut être root
(UID 0) à l'intérieur d'un namespace, mais correspondre à un utilisateur sans privilèges (UID
100000) sur le système hôte. Cela isole totalement les privilèges.
C. PAM (Pluggable Authentication Modules)
PAM permet d'insérer des règles d'authentification complexes :
• pam_tally2.so ou pam_faillock.so : Verrouillage après X échecs.
• pam_time.so : Restreindre l'accès selon l'heure.
• pam_duo.so : Ajouter une authentification multi-facteurs (MFA).
VII. Surveillance et Audit avec auditd
Un administrateur doit pouvoir répondre à la question : "Qui a modifié ce fichier et quand ?".
Le démonauditd permet de surveiller les appels système.
• Règle d'exemple : auditctl -w /etc/passwd -p wa -k user-modify
◦ -w : Surveiller le fichier.
◦ -p wa : Surveiller l'écriture (w) et les changements d'attributs (a).
◦ -k : Clé pour retrouver l'événement dans les logs (ausearch -k user-modify).
VIII. Cas Pratique Expert : Déploiement "TechCorp"
A. Scénario
L'entreprise "TechCorp" souhaite sécuriser son serveur de production.
15 Isolation : Créer un groupe sysadmins avec accès sudo complet et un groupe devs
avec accès restreint.
16 Immuabilité : Rendre le fichier /etc/hosts immuable.
17 Audit : Tracer toute modification des fichiers de mots de passe.
18 Capabilities : Permettre à un binaire de test réseau ping_custom de fonctionner sans
SUID.
B. Implémentation Pas à Pas
# 1. Structure des groupes et utilisateurs
sudo groupadd sysadmins
sudo groupadd devs
sudo useradd -m -G sysadmins chief_admin
sudo useradd -m -G devs dev_user
# 2. Configuration Sudo avancée (via /etc/sudoers.d/techcorp)
echo "%sysadmins ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/techcorp
echo "%devs ALL=(ALL) /usr/bin/apt update, /usr/bin/systemctl restart nginx" | sudo
tee -a /etc/sudoers.d/techcorp
# 3. Sécurisation par attributs
sudo chattr +i /etc/hosts
# 4. Application des Capabilities
sudo cp /usr/bin/ping /usr/local/bin/ping_custom
sudo chmod u-s /usr/local/bin/ping_custom # On retire le SUID
sudo setcap cap_net_raw+ep /usr/local/bin/ping_custom # On donne juste le droit
RAW socket
# 5. Mise en place de l'audit
sudo apt install auditd -y
sudo auditctl -w /etc/shadow -p wa -k shadow-change
C. Tests Fonctionnels et Audit
Objectif Test Résultat Attendu
Operation not permitted (même
Immuabilité rm /etc/hosts
pour root)
Succès sans être root et sans
Capabilities /usr/local/bin/ping_custom [Link]
SUID
L'événement est logué dans
Audit passwd dev_user
/var/log/audit/[Link]
sudo -u dev_user sudo useradd Sorry, user dev_user is not
Sudo Restreint
test allowed...
Conclusion
La gestion des identités sous Linux est passée d'un simple fichier texte à un système
multicouche intégrant des capacités du noyau, des modules d'authentification dynamiques et
des outils d'audit temps réel. Un administrateur moderne doit maîtriser ces outils pour
construire des systèmes non seulement fonctionnels, mais résilients face aux menaces
internes et externes.
Références
[1] Linux Capabilities & Exploitation | Medium [2] Understanding User Namespaces |
[Link] [3] Configure Linux system auditing | Red Hat [4] Linux File Attributes | chattr
man page