Fondamentaux
Utilisateurs et permissions Linux
Sous Linux, les utilisateurs, les groupes et les permissions contrôlent l'accès aux ressources. Leur maîtrise est essentielle en administration système comme en cybersécurité.
Utilisateurs
Chaque utilisateur possède un nom, un UID, un répertoire personnel, un shell par défaut et des permissions.
whoami
id
id -u
Types de comptes
| Type | Rôle |
|---|---|
| Utilisateur standard | Tâches quotidiennes avec droits limités |
| Utilisateur système | Compte utilisé par un service ou une application |
root | Super-utilisateur avec tous les privilèges |
Un compte peut être interactif, utilisé par un humain, ou technique, utilisé par un service. Un compte technique ne devrait pas avoir plus de droits que nécessaire.
À retenir
En compromission Linux, l'obtention de privilèges root est souvent un objectif majeur. En défense, il faut donc réduire les chemins d'élévation.
Gestion des comptes
sudo useradd utilisateur
sudo passwd utilisateur
su utilisateur
sudo usermod -s /bin/bash utilisateur
sudo usermod -aG groupe utilisateur
Fichiers importants
cat /etc/passwd
sudo cat /etc/shadow
Les mots de passe ne sont pas stockés en clair dans /etc/shadow, mais sous forme de hachage.
Sudo
sudo permet d'exécuter une commande avec des privilèges élevés selon une politique définie.
sudo -l
sudo commande
Les règles sont généralement dans /etc/sudoers ou dans /etc/sudoers.d/.
Prudence
Une règle sudo trop large peut devenir un chemin d'élévation de privilèges. Il faut éviter d'accorder des commandes dangereuses sans besoin clair.
Groupes
Les groupes simplifient l'attribution des permissions.
groups
sudo groupadd developpeurs
sudo usermod -aG developpeurs utilisateur
Permissions
Afficher les droits :
ls -l
Exemple :
-rw-r--r--
| Droit | Signification |
|---|---|
r | Lecture |
w | Écriture |
x | Exécution |
Les droits s'appliquent au propriétaire, au groupe et aux autres utilisateurs.
Sur un dossier, les droits ont un sens particulier :
| Droit | Sur un dossier |
|---|---|
r | Lister le contenu |
w | Créer, renommer ou supprimer des entrées |
x | Traverser le dossier |
Modifier les droits
chmod u+x fichier
chmod g-w fichier
chmod 755 fichier
| Valeur | Permissions |
|---|---|
777 | rwx rwx rwx |
755 | rwx r-x r-x |
644 | rw- r-- r-- |
600 | rw- --- --- |
Changer le propriétaire :
sudo chown utilisateur:groupe fichier
Umask
umask définit les permissions retirées par défaut lors de la création de fichiers ou dossiers.
umask
umask 027
Une umask trop permissive peut créer des fichiers lisibles par trop d'utilisateurs.
Bits spéciaux
| Bit | Rôle |
|---|---|
| SUID | Exécuter avec les droits du propriétaire |
| SGID | Hériter du groupe ou exécuter avec le groupe |
| Sticky bit | Empêcher la suppression par d'autres utilisateurs dans un dossier partagé |
Exemples fréquents :
find / -perm -4000 -type f 2>/dev/null
ls -ld /tmp
Les bits spéciaux sont puissants et doivent être surveillés.
Pourquoi c'est important
Une bonne gestion des utilisateurs et permissions permet de limiter les privilèges, protéger les données sensibles, isoler les services et appliquer le principe du moindre privilège.
Réflexes d'audit
- lister les comptes humains et techniques
- vérifier les membres des groupes privilégiés
- contrôler les règles
sudo - chercher les fichiers trop permissifs
- surveiller les fichiers SUID inhabituels
- vérifier les droits sur les secrets et configurations
À retenir
Les permissions Linux sont simples en apparence, mais les erreurs d'attribution de droits sont une cause très fréquente d'exposition ou d'élévation de privilèges.
