La gestion des utilisateurs est un aspect fondamental pour tout administrateur système Linux. Qu’il s’agisse de superviser une seule machine ou un réseau de serveurs, il est essentiel de maintenir l’ordre parmi les comptes utilisateurs pour le contrôle et la sécurité du système. Une gestion appropriée garantit que l’accès est accordé uniquement aux personnes qui en ont réellement besoin et pour la durée nécessaire. Des privilèges non restreints peuvent entraîner des violations potentielles de données sensibles ou de ressources critiques. Dans cet article, nous explorons les outils en ligne de commande essentiels qui permettent aux administrateurs de créer, modifier et supprimer des comptes utilisateurs directement depuis le terminal.
Fichiers essentiels pour la gestion des utilisateurs sous Linux
Linux stocke les informations critiques relatives aux utilisateurs et aux groupes dans des fichiers système spécifiques. Ces fichiers contiennent les détails des comptes, les mots de passe et les permissions des groupes, et servent de base à la gestion des utilisateurs et au contrôle d’accès.
| Fichier / Répertoire | Description |
|---|---|
| /etc/passwd | Contient l’UID, le GID, le répertoire personnel et le shell par défaut. En lecture seule, modifiable uniquement par root/sudo. |
| /etc/groupe | Liste les noms des groupes, leurs identifiants et leurs membres, éléments essentiels pour la gestion des appartenances et des autorisations des groupes. |
| /etc/sudoers | Indique quels utilisateurs/groupes peuvent exécuter des commandes en tant que superutilisateur (root).Nécessite une modification minutieuse. |
| /etc/shadow | Contient les hachages de mots de passe et les informations d’expiration. L’accès est réservé à l’utilisateur root. |
| /etc/gshadow | Contient les détails du mot de passe du groupe et les informations d’expiration, accessibles uniquement à l’administrateur. |
| /etc/skel | Les fichiers tels que «.bashrc » et «.profile » sont automatiquement copiés dans les répertoires personnels des nouveaux utilisateurs. |
| /etc/login.defs | Configure les paramètres de vieillissement des mots de passe, d’expiration et diverses politiques de sécurité. |
Comment consulter les utilisateurs existants
Pour vérifier les utilisateurs existants sur un système Linux, une méthode simple consiste à consulter le fichier « /etc/passwd », qui contient des informations essentielles sur les comptes utilisateurs. Pour afficher ce fichier, exécutez :
sudo cat /etc/passwd
Chaque ligne du fichier correspond à un compte utilisateur unique.

La idcommande fournit l’identifiant UID, GIDle profil et tous les groupes auxquels appartient l’utilisateur :
id usernamegroups usernamegetent passwd username
Cette commande peut également groupsafficher uniquement les groupes associés à un utilisateur.getentElle récupère les informations de compte à partir des bases de données système, notamment « /etc/passwd », LDAP ou d’autres sources configurées.

Utilisation de la commande useradd pour créer des utilisateurs
Cette useraddcommande est un utilitaire fondamental disponible sur la plupart des distributions, mais elle est généralement considérée comme moins conviviale que adduser. Malgré leurs différences, les deux commandes remplissent des fonctions similaires.
Pour en savoir plus sur cette useraddcommande, utilisez man-la ou consultez --helple guide succinct :
man useradd--help

Pour créer un nouvel utilisateur et un répertoire personnel, vous pouvez utiliser la commande suivante :
sudo useradd --create-home
Si vous omettez cette --create-homeoption, le compte utilisateur ne disposera pas de répertoire personnel. Après avoir créé l’utilisateur, vérifiez son existence en exécutant la commande grep :
grep /etc/passwd

Création d’utilisateurs avec la commande adduser
Contrairement à useradd, cette addusercommande est un script Perl offrant une expérience de création d’utilisateur interactive, demandant notamment le mot de passe et les informations relatives au répertoire personnel. Dans de nombreuses distributions comme Red Hat et CentOS, addusersert de lien symbolique vers useradd. Cependant, sur d’autres systèmes comme Arch Linux, un paquet distinct peut inclure adduser.
Lorsqu’elle est exécutée, cette commande crée généralement un groupe portant le même nom que l’utilisateur. Les paramètres par défaut des utilisateurs créés via cette commande useraddpeuvent être modifiés dans le fichier « /etc/default/useradd », où des attributs tels que le shell par défaut et le répertoire personnel peuvent être prédéfinis.

Pour créer un nouvel utilisateur, exécutez la commande suivante :
sudo adduser testuser
Il vous sera demandé de définir et de confirmer un mot de passe, de fournir des informations utilisateur supplémentaires et de finaliser la création du compte.

Mise à jour des mots de passe des utilisateurs
Une fois le compte utilisateur créé, vous pouvez modifier le mot de passe de l’utilisateur à l’aide de la passwdcommande suivante :
sudo passwd
L’exécution de cette commande vous invitera à saisir et à confirmer un nouveau mot de passe. Les utilisateurs standard peuvent uniquement modifier leur mot de passe en exécutant la commande sans point sudo.

Les exigences de complexité des mots de passe sont appliquées par PAM (Pluggable Authentication Modules) et peuvent généralement être configurées dans le fichier « /etc/pam.d/common-password » sur les systèmes Ubuntu. Pour plus d’informations, consultez le manuel de pam-auth-update.

Utilisation de la commande usermod pour la gestion des utilisateurs
Cette usermodcommande permet de modifier les attributs des comptes utilisateurs existants. Cela inclut la mise à jour des identifiants, des noms d’utilisateur, des répertoires personnels ou des appartenances à des groupes. Par exemple, pour modifier l’UID d’un utilisateur, utilisez :
sudo usermod -u
La modification de l’UID ou du GID peut affecter la propriété et les autorisations des fichiers dans l’ensemble du système.
Pour modifier le répertoire personnel d’un utilisateur, utilisez la méthode suivante :
sudo usermod -d
De plus, vous pouvez verrouiller ou déverrouiller les comptes utilisateurs à l’aide des commandes suivantes :
sudo usermod -L sudo usermod -U
Enfin, vous pouvez définir une date d’expiration pour votre compte grâce à l’ --expiredateoption suivante :
sudo usermod --expiredate
Ces ajustements vous permettent de gérer efficacement l’accès et les attributs des utilisateurs sans avoir à supprimer les comptes.
Intégrer les utilisateurs dans des groupes
Les groupes facilitent le partage des autorisations entre plusieurs utilisateurs, ce qui est particulièrement utile pour la gestion des fichiers, l’exécution des services ou la réalisation collective de tâches administratives.
Pour intégrer un utilisateur à un groupe spécifique, utilisez la usermodcommande suivante avec les options -aet :-G
sudo usermod -a -G
Cet -aindicateur est crucial car il ajoute l’utilisateur aux groupes existants ; l’omettre peut entraîner l’écrasement des appartenances aux groupes actuelles.

Cette gpasswdcommande peut également gérer les appartenances à des groupes :
sudo gpasswd -a username groupname
Pour retirer un utilisateur d’un groupe, exécutez :
sudo gpasswd -d username groupname
Suppression des comptes utilisateurs
Lorsqu’un compte utilisateur n’est plus nécessaire, il peut être supprimé à l’aide de la userdelcommande :
sudo userdel username

Cette commande supprime le compte utilisateur mais conserve son répertoire personnel. Pour une suppression complète, y compris le répertoire personnel, utilisez :
sudo userdel -r username
Veuillez noter que cette userdelcommande ne s’exécutera pas si des processus actifs sont en cours d’exécution sous le compte utilisateur.
Suivi des activités de connexion des utilisateurs
La surveillance des activités de connexion est essentielle pour les administrateurs système afin d’identifier les tentatives d’accès non autorisées et de résoudre les problèmes d’authentification. Sous Ubuntu et Debian, les tentatives de connexion sont enregistrées dans le fichier « /var/log/auth.log ».Pour consulter les dernières entrées, utilisez :
sudo tail /var/log/auth.log

Pour les systèmes Red Hat ou CentOS, les journaux de connexion se trouvent dans « /var/log/secure ».De plus, les systèmes utilisant systemd peuvent proposer une autre méthode pour consulter les journaux d’authentification :
sudo journalctl | grep ssh
Cette approche proactive de gestion des comptes utilisateurs permet de maintenir votre système organisé et de le protéger contre les accès non autorisés.
Laisser un commentaire