Ce solutionnaire propose les commandes attendues, des variantes selon distributions, et exemples d’output.
Hypothèses : Ubuntu/Debian (les équivalentsuseradd/userdelsont fournis).
Objectif : créer marie, vérifier
dans la base des comptes et afficher ses infos.
# Ubuntu/Debian (assistant interactif : mot de passe, infos, etc.)
sudo adduser marie
# Variante (plus bas niveau, non interactif) :
# sudo useradd -m -s /bin/bash marie && sudo passwd marie
# Consulter base des comptes (plus sûr que cat /etc/passwd)
getent passwd marie
# Afficher UID, GID et groupes
id marie
$ getent passwd marie
marie:x:1002:1002:marie,,,:/home/marie:/bin/bash
$ id marie
uid=1002(marie) gid=1002(marie) groups=1002(marie)
# Attribuer/Modifier le mot de passe
sudo passwd marie
# Se connecter en shell de connexion
su - marie
# Vérifier l’identité
whoami
Password: ********
$ whoami
marie
Astuce : si
suest désactivé (politiques PAM), on peut tester l’environnement avec :
sudo -u marie -H -s
whoami
exit
# Créer le groupe
sudo groupadd etudiants
# Ajouter marie au groupe
sudo gpasswd -a marie etudiants
# Variante équivalente :
# sudo usermod -aG etudiants marie
# Vérifier appartenance
groups marie
id marie
$ groups marie
marie : marie etudiants
Objectif : changer le HOME et ajouter au groupe
sudo.
# Créer le nouveau dossier parent si nécessaire
sudo mkdir -p /home/etudiants
# Changer le répertoire personnel et déplacer le contenu
sudo usermod -d /home/etudiants/marie -m marie
# Ajouter marie au groupe sudo (sur Debian/Ubuntu)
sudo usermod -aG sudo marie
# Sur d'autres distributions, le groupe d'admin peut être "wheel":
# sudo usermod -aG wheel marie
# Vérification
getent passwd marie
id marie
$ getent passwd marie
marie:x:1002:1002:marie,,,:/home/etudiants/marie:/bin/bash
# Créer pour l'exercice
sudo adduser paul # (ou: sudo useradd -m -s /bin/bash paul && sudo passwd paul)
sudo groupadd projetX
sudo gpasswd -a paul projetX # (ou: sudo usermod -aG projetX paul)
# Supprimer l’utilisateur (avec son HOME)
sudo deluser --remove-home paul
# Variante :
# sudo userdel -r paul
# Supprimer le groupe
sudo groupdel projetX
getent passwd paul # (aucune sortie attendue)
getent group projetX # (aucune sortie attendue)
adduser testadmin
Résultat attendu : échec (permission refusée) ou demande d’élévation.
sudo adduser testadmin
Résultat attendu : création réussie de l’utilisateur.
sudo deluser --remove-home testadmin # ou sudo userdel -r testadmin
Objectif : créer utilisateurs et groupes, puis affectations.
# Utilisateurs
sudo adduser alice
sudo adduser bob
sudo adduser charles
# Groupes
sudo groupadd reseau
sudo groupadd programmation
# Affectations
sudo gpasswd -a alice reseau
sudo gpasswd -a bob reseau
sudo gpasswd -a charles programmation
# (ou usermod -aG ...)
# Vérifications
id alice
id bob
id charles
$ id alice
uid=1003(alice) gid=1003(alice) groups=1003(alice),1005(reseau)
$ id bob
uid=1004(bob) gid=1004(bob) groups=1004(bob),1005(reseau)
$ id charles
uid=1005(charles) gid=1005(charles) groups=1005(charles),1006(programmation)
Utilisateur vs Groupe
/etc/passwd vs
/etc/shadow
/etc/passwd : base des comptes (login, UID, GID,
HOME, shell). Lisible par tous./etc/shadow : mots de passe chiffrés et politiques
(expirations). Restreint à root.adduser / usermod /
groupadd / gpasswd
adduser : crée un compte (interactif sur
Debian/Ubuntu) — équivalent bas niveau : useradd.usermod : modifie un compte (groupes, HOME,
shell…).groupadd : crée un groupe.gpasswd : gère l’appartenance aux groupes
(ajout/suppression) — alternative : usermod -aG.getent passwd | awk -F: '$7 ~ /(bash|zsh|fish|sh)$/ {print $1 ":" $6 ":" $7}'
getent group | cut -d: -f1,3
getent passwd | awk -F: '$3>=1000 {print $1, $3, $6}' | sort -k2n