
RHEL 10 - Gestion des Utilisateurs et Groupes Locaux
Gestion des comptes utilisateurs
La commande useradd pour créer des utilisateurs
-
-m→ créer le répertoire home -
-d→ spécifier le chemin du répertoire home -
-s→ spécifier le shell -
-c→ commentaire -
-u→ définir UID -
-g→ groupe principal -
-G→ groupes supplémentaires -
-e→ date d'expiration (YYYY-MM-DD) -
-f→ délai avant désactivation après expiration du mot de passe
Exemple
- Créer un utilisateur labuser ayant pour UID
1010, appartenant au groupewheelet le dossier home dans/mnt/dist_home/labuseruseradd -m -d /mnt/dist_home/labuser -u 1010 -G wheel labuser
La commande userdel pour supprimer des utilisateurs
-
Pour conserver le dossier utilisateur
userdel labuser -
Pour supprimer le dossier utilisateur
userdel -r labuser -
Pour supprimer le dossier utilisateur et mailbox
userdel -rf labuser
La commande usermod pour modifier des utilisateurs
-aG→ ajouter l'utilisateur à des groupes supplémentaires-d→ changer le dossier home-l→ changer le nom de login-u→ changer l'UID-L→ verrouiller un compte-U→ déverrouiller un compte-e→ Définir une date d'expiration pour un compte (YYYY-MM-DD)
Exemples
-
Ajouter l'utilisateur labuser au groupe
wheelusermod -aG wheel labuser -
Définir l'expiration du compte labuser le 06/01/2026
usermod -e 2026-01-06 labuser
La commande lslogins pour afficher les informations sur les utilisateurs
-
Afficher les informations sur les utilisateurs connus du système
lslogins -
Afficher les informations sur un utilisateur en particulier
lslogins # nom de l'utilisateur
Exemple
- Afficher la date d'expiration du compte labuser
lslogins -o PWD-EXPIR labuserPassword expiration: Jan06/00:00
Gestion des mots de passe des comptes utilisateurs
La commande passwd
-
Changer le mot de passe du compte utilisateur courant
passwd -
Changer le mot de passe d'un autre utilisateur (privilège root)
passwd # nom de l'utilisateur -
Forcer le changement du mot de passe à la prochaine connexion
passwd -e # nom de l'utilisateur -
verrouiller le compte utilisateur
passwd -l # nom de l'utilisateur -
Déverrouiller le compte utilisateur
passwd -u # nom de l'utilisateurIl faudra redéfinir un mot de passe
-
Afficher les paramètres de mot de passe d'un utilisateur
passwd -S # nom de l'utilisateur
La commande chage
-l→ Afficher la politique de validité du mot de passe-M→ Nombre de jours maximum entre les changements-m→ Nombre de jours minimum entre les changements-W→ Nombre de jours d'avertissement avant expiration-E→ Date d'expiration du compte (YYYY-MM-DD)
Exemple
-
Définir 90 jours maximum entre les changements, un avertissement à 14 jours avant le changement obligatoire et une date d'expiration du compte au 31 décembre 2026 pour l'utilisateur labuser
chage -M 90 -W 14 -E 2026-12-31 labuser -
Vérification
chage -l labuserLast password change : Jan 05, 2026 Password expires : Apr 05, 2026 Password inactive : never Account expires : Dec 31, 2026 Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 14
Le fichier /etc/security/pwquality.conf du module PAM pam_pwquality pour la gestion de la qualité des mots de passe
vim /etc/security/pwquality.conf
- Pour renforcer la complexité du mot de passe du compte root
enforce_for_root - Pour définir une longueur minimal acceptée
minlen = x - Pour forcer l'utilisation d'au moins un caractère en majuscule
ucredit = -1 - Pour forcer l'utilisation d'exactement 3 chiffres
dcredit = 3 - Pour forcer l'utilisation d'au moins 2 types de caractères
minclass = 2 - Pour empêcher la réutilisation de 4 caractères de l'ancien mot de passe
difok = 4 - Pour empêcher l'utilisation du nom d'utilisateur dans le mot de passe
usercheck = 1
Le fichier /etc/login.defs pour définir les paramètres par défaut pour la création des comptes utilisateurs et des groupes
vim /etc/login.defs
-
Définir à 90 jours maximum l'obligation de changer de mot de passe
PASS_MAX_DAYS 90 -
Définir la longueur minimal des mots de passe à 10 caractères
PASS_MIN_LEN 10 -
Définir le nombre maximum d'essais en cas d'erreur de mot de passe à 5
LOGIN_RETRIES 5 -
Modifier la méthode de chiffrement des mots de passe pour utiliser SHA512
ENCRYPT_METHOD SHA512 -
Forcer la commande
useraddà ne pas créer par défaut le dossier home de l'utilisateurCREATE_HOME no
Gestion des groupes
Les commande groupadd, groupdel et groupmod
-
Créer un groupe
groupadd # nom du groupe -
Créer un groupe avec un GID spécifique
groupadd -g xxxx # nom du groupe -
Créer un groupe en y ajoutant des utilisateurs
groupadd -U "user1,user2" # nom du groupe -
Supprimer un groupe
groupdel # nom du groupe -
Changer le GID d'un groupe
groupmod -g xxxx # nom du groupe
Gérer les membres des groupes
-
Lister les groupes
getent group -
Lister les membres d'un groupe
getent group # nom du groupe
La commande gpasswd
-
Etablir une liste d'utilisateurs pour un groupe
gpasswd -M "user1,user2" # nom du groupe -
Supprimer un utilisateur d'un groupe
gpasswd -d # nom d'utilisateur # nom du groupe -
Définir un administrateur du groupe
gpasswd -A # nom d'utilisateur # nom du groupe
Les fichiers importants
/etc/passwd
Accessible en lecture à tous, contient une liste d'utilisateurs, chacun sur une ligne distincte. Chaque ligne contient une liste séparée par deux-points.
labuser:x:1001:1001:utilisateur test:/home/labuser:/bin/bash
labuser→ nom d'utilisateurx→ mot de passe caché1001:1001→ UID:GIDutilisateur test→ commentaire/home/labuser→ chemin vers le dossier home/bin/bash→ shell
/etc/group
Le fichier /etc/group est accessible en lecture à tous et contient une liste de groupes, chacun sur une ligne distincte. Chaque ligne contient une liste de quatre champs, séparés par des deux-points.
labgrp:x:2500:labuser,labuser2
labgrp→ nom du groupex→ mot de passe caché2500→ GIDlabuser,labuser2→ membres du groupe
/etc/shadow et /etc/gshadow
Ces deux fichiers contiennent les "hashs" des mots de passe utilisateurs et groupes
-
/etc/shadowlabuser:$y$j9T$7pC.ttWWTnAQ.eEyZ0R.61$wYxE3ASBST8rhZt354ImsOoAAvnu0J9cVJu2AW7nbl4:20459:0:90:14::20459: -
/etc/gshadowlabgrp:$y$j9T$lxS6H2tLiumIxPVJ92qui0$FOcOqKj7sAEYLPFLtDFJH72lxODV8jUp74HB5us6vs5::labuser,labuser2
Sources principales:
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_basic_system_settings/managing-users-and-groups_configuring-basic-system-settings
