
Ajouter et supprimer un utilisateur (commandes `useradd`, `passwd`, `userdel` en bref)
Maîtrisez les commandes essentielles `useradd`, `passwd` et `userdel` pour créer, gérer les mots de passe et supprimer des utilisateurs sous Linux. Un guide concis pour l'administration de base.
Introduction à la création et suppression de comptes utilisateurs
La gestion des comptes utilisateurs est une tâche administrative fondamentale sur tout système Linux. Que ce soit pour accorder l'accès à une nouvelle personne, créer un compte pour un service spécifique, ou révoquer des accès, vous aurez besoin de commandes dédiées. Ce sous-chapitre se concentre sur trois outils essentiels en ligne de commande : `useradd` pour la création de nouveaux utilisateurs, `passwd` pour la gestion de leurs mots de passe, et `userdel` pour leur suppression. Nous allons explorer leur syntaxe de base et les options les plus courantes pour vous permettre d'effectuer ces opérations efficacement. Notez que ces commandes nécessitent généralement des privilèges administratifs, donc l'utilisation de `sudo` sera la norme.
Il est important de comprendre que la création d'un utilisateur ne se limite pas à choisir un nom. Cela implique souvent la création d'un répertoire personnel, l'affectation à des groupes, la définition d'un shell de connexion, et bien sûr, la mise en place d'un mot de passe sécurisé. De même, la suppression d'un utilisateur doit être effectuée avec soin pour éviter de laisser des fichiers orphelins ou de perturber le système. Les commandes que nous allons voir offrent des options pour gérer ces aspects.
Créer un nouvel utilisateur avec `useradd`
La commande `useradd` est l'outil standard pour ajouter un nouveau compte utilisateur à votre système Linux. Dans sa forme la plus simple, elle crée une entrée pour l'utilisateur dans les fichiers système `/etc/passwd` et `/etc/group`, mais ne crée pas nécessairement un répertoire personnel ni ne définit un mot de passe. C'est pourquoi elle est souvent utilisée avec des options pour personnaliser la création du compte.
Voici la syntaxe de base et quelques options couramment utilisées :
sudo useradd [options] nom_utilisateurOptions importantes pour `useradd` :
-m: Crée le répertoire personnel de l'utilisateur (généralement dans `/home/nom_utilisateur`). C'est une option très fréquemment utilisée.-d /chemin/vers/home: Spécifie un chemin différent pour le répertoire personnel au lieu de celui par défaut.-s /chemin/vers/shell: Définit le shell de connexion par défaut pour l'utilisateur (par exemple,-s /bin/bashpour Bash ou-s /sbin/nologinpour un compte qui ne doit pas pouvoir se connecter interactivement).-g nom_groupe_principal: Spécifie le nom ou l'ID du groupe principal de l'utilisateur. Si omis, le comportement dépend de la configuration système (souvent un groupe portant le même nom que l'utilisateur est créé).-G groupe1,groupe2,...: Spécifie une liste de groupes supplémentaires auxquels l'utilisateur appartiendra.-c "Commentaire": Permet d'ajouter un commentaire, souvent utilisé pour le nom complet de l'utilisateur ou une description du compte.
Par exemple, pour créer un utilisateur nommé `jdupont` avec un répertoire personnel, un shell Bash, et un commentaire :
sudo useradd -m -s /bin/bash -c "Jean Dupont" jdupontAprès cette commande, l'utilisateur `jdupont` existe, mais son compte est verrouillé car aucun mot de passe n'a encore été défini.Sur certaines distributions, comme Debian et Ubuntu, une commande alternative plus conviviale nommée `adduser` existe. Elle est souvent préférée pour un usage interactif car elle pose des questions pour configurer le nouvel utilisateur et crée automatiquement le répertoire personnel et d'autres configurations par défaut. Cependant, `useradd` reste l'outil de bas niveau fondamental.
Définir et gérer les mots de passe avec `passwd`
Une fois un utilisateur créé avec `useradd`, son compte est généralement verrouillé jusqu'à ce qu'un mot de passe lui soit assigné. La commande `passwd` est utilisée à cette fin.
Pour définir le mot de passe d'un nouvel utilisateur (en tant qu'administrateur) :
sudo passwd nom_utilisateurLe système vous demandera alors de saisir et de confirmer le nouveau mot de passe pour `nom_utilisateur`.Un utilisateur peut également utiliser `passwd` sans argument pour changer son propre mot de passe :
passwdIl lui sera demandé son mot de passe actuel, puis le nouveau mot de passe (deux fois pour confirmation).La commande `passwd` dispose également d'options utiles pour l'administrateur :
-l(lock) : Verrouille le compte de l'utilisateur spécifié. L'utilisateur ne pourra plus se connecter.-u(unlock) : Déverrouille un compte précédemment verrouillé.-d(delete) : Supprime le mot de passe de l'utilisateur. Cela rend le compte accessible sans mot de passe (à utiliser avec une extrême prudence et généralement déconseillé pour des raisons de sécurité).-e(expire) : Force l'expiration du mot de passe. L'utilisateur devra changer son mot de passe lors de sa prochaine connexion.-S(status) : Affiche l'état du mot de passe du compte (verrouillé, mot de passe défini, date de dernière modification, etc.).
Exemple : pour définir le mot de passe du nouvel utilisateur `jdupont` :
sudo passwd jdupontSuivez les invites pour entrer et confirmer le mot de passe. Pour ensuite vérifier le statut de son mot de passe :sudo passwd -S jdupontSupprimer un utilisateur avec `userdel`
Lorsque l'accès d'un utilisateur n'est plus nécessaire, il convient de supprimer son compte à l'aide de la commande `userdel`. Par défaut, `userdel` supprime uniquement l'entrée de l'utilisateur des fichiers système (`/etc/passwd`, `/etc/group`, `/etc/shadow`), mais ne supprime pas son répertoire personnel ni sa boîte aux lettres électronique.
Syntaxe de base :
sudo userdel nom_utilisateurL'option la plus importante avec `userdel` est -r (remove) :
sudo userdel -r nom_utilisateurL'utilisation de l'option -r indique à `userdel` de supprimer également le répertoire personnel de l'utilisateur (typiquement `/home/nom_utilisateur`) ainsi que sa file d'attente de courrier (spool mail). C'est généralement ce que l'on souhaite pour un nettoyage complet, mais il faut l'utiliser avec précaution, surtout si le répertoire personnel contient des données importantes qui n'ont pas été sauvegardées ailleurs.Par exemple, pour supprimer l'utilisateur `jdupont` et son répertoire personnel :
sudo userdel -r jdupontSi vous omettez l'option -r, le répertoire `/home/jdupont` (et son contenu) restera sur le système après la suppression de l'utilisateur. Vous devrez alors le supprimer manuellement si nécessaire, par exemple avec `sudo rm -rf /home/jdupont`.Comme pour `useradd`, les systèmes Debian/Ubuntu proposent une alternative `deluser` qui peut inclure des options pour sauvegarder les fichiers avant suppression ou supprimer le groupe associé si plus aucun utilisateur n'y est membre. `userdel` reste cependant l'outil de base pour cette tâche.
En maîtrisant `useradd`, `passwd` et `userdel`, vous disposez des outils fondamentaux pour gérer le cycle de vie des comptes utilisateurs sur votre système Linux. N'oubliez jamais d'utiliser `sudo` et de bien comprendre l'impact de chaque option, notamment `-r` avec `userdel`.