Gestion des comptes utilisateur

LinuxBeginner
Pratiquer maintenant

Introduction

Ce lab vous guide à travers les opérations de base liées à la gestion des comptes utilisateur sur les systèmes Linux. Vous apprendrez à créer, modifier et supprimer des comptes utilisateur, ainsi qu’à définir et modifier des mots de passe. Il s’agit de compétences fondamentales pour l’administration système Linux. Si vous débutez avec Linux, ne vous inquiétez pas : chaque étape sera expliquée clairement.

Création d’un nouvel utilisateur

Commencez par créer un compte utilisateur nommé « joker ».

  1. Ouvrez un terminal. Sous Linux, le terminal est une interface textuelle dans laquelle vous pouvez saisir des commandes.
  2. Saisissez la commande suivante, puis appuyez sur Entrée :
sudo useradd joker

Voici le rôle de chaque élément :

  • sudo est une commande qui vous accorde temporairement les privilèges du superutilisateur (administrateur). Nous l’utilisons ici, car la création d’un utilisateur nécessite des autorisations élevées.
  • useradd est la commande qui permet de créer un utilisateur.
  • joker est le nom d’utilisateur que vous créez.

Remarque : si vous exécutez cette commande sans sudo, vous obtiendrez une erreur « permission denied ». Les utilisateurs ordinaires ne sont pas autorisés à créer de nouveaux comptes utilisateur : cette tâche est réservée aux administrateurs système.

Cela illustre la différence entre un superutilisateur et un utilisateur standard. En tant qu’utilisateur standard, vous ne pouvez pas créer de comptes utilisateur, mais sudo vous permet d’élever temporairement vos privilèges pour effectuer cette tâche administrative.

  1. Pour vérifier que l’utilisateur a bien été créé, examinez le fichier /etc/passwd :
sudo grep -w 'joker' /etc/passwd

Le fichier /etc/passwd joue le rôle d’un annuaire des comptes utilisateur. Chaque ligne représente un compte utilisateur et contient différentes informations séparées par des deux-points (:).

Vous devriez obtenir une sortie similaire à celle-ci :

joker:x:5001:5001::/home/joker:/bin/sh

Cette ligne indique :

  • Nom d’utilisateur : joker
  • Mot de passe : x (le mot de passe réel est stocké de manière sécurisée ailleurs)
  • ID utilisateur : 5001
  • ID de groupe : 5001
  • Répertoire personnel : /home/joker, mais il n’a pas encore été créé
  • Shell par défaut : /bin/sh

Création d’un utilisateur avec un répertoire personnel

Créez maintenant un autre utilisateur nommé « bob » et attribuez-lui un répertoire personnel.

  1. Exécutez la commande suivante :
sudo useradd -m bob

L’option -m demande au système de créer un répertoire personnel pour l’utilisateur. Un répertoire personnel est un dossier privé dans lequel l’utilisateur peut stocker ses fichiers et ses paramètres.

  1. Vérifiez que le répertoire personnel a bien été créé :
sudo ls -ld /home/bob

Vous devriez obtenir une sortie similaire à celle-ci :

drwxr-x--- 2 bob bob 57 Jan 19 13:33 /home/bob

Cette sortie indique :

  • Le d au début signifie qu’il s’agit d’un répertoire.
  • rwxr-x--- indique qui peut lire, écrire ou exécuter des opérations dans ce répertoire.
  • Les deux occurrences de bob indiquent que l’utilisateur propriétaire et le groupe propriétaire de ce répertoire sont tous deux bob.
  • 57 correspond à la taille du répertoire en octets.
  • Jan 19 13:33 indique la date et l’heure de création du répertoire.
  • /home/bob est l’emplacement du répertoire.

Définition du mot de passe d’un utilisateur

Vous devez maintenant définir un mot de passe pour le nouvel utilisateur. Définissez celui de « joker ».

  1. Exécutez la commande suivante :
sudo passwd joker
  1. Vous devrez saisir deux fois un nouveau mot de passe. Pour ce lab, utilisez un mot de passe simple comme « password123 ».

Important : le mot de passe ne s’affiche pas pendant la saisie. Il s’agit d’une mesure de sécurité de Linux qui empêche les autres personnes de voir votre mot de passe. Si vous saisissez accidentellement un mot de passe incorrect, vous pouvez recommencer. Important : mémorisez ce mot de passe. Vous en aurez besoin plus loin dans le lab.

  1. En cas de réussite, un message indiquant « passwd: password updated successfully » s’affichera.

Remarque : dans un environnement réel, utilisez toujours des mots de passe forts et uniques.

En arrière-plan, Linux stocke les mots de passe chiffrés dans un fichier sécurisé appelé /etc/shadow. Cette méthode est plus sûre que de les stocker dans /etc/passwd, où n’importe qui pourrait les voir.

Modification des propriétés d’un utilisateur

Linux permet de modifier différents paramètres d’un compte utilisateur après sa création. Modifiez par exemple le répertoire personnel de joker.

  1. Exécutez la commande suivante :
sudo usermod -d /home/wayne joker

Cette commande effectue les opérations suivantes :

  • usermod est la commande qui permet de modifier les paramètres d’un compte utilisateur.
  • -d /home/wayne définit le nouveau répertoire personnel.
  • joker est l’utilisateur que vous modifiez.
  1. Vérifiez la modification :
sudo grep -w 'joker' /etc/passwd

L’option -w permet de rechercher le mot complet, tandis que grep recherche ce mot dans le fichier. Dans la sortie, vous devriez constater que le répertoire personnel de joker a été mis à jour.

Modification du shell utilisateur

Le shell par défaut de l’utilisateur est un autre paramètre important que vous pouvez modifier. Le shell est le programme qui interprète et exécute les commandes que vous saisissez dans le terminal.

Par défaut, l’utilisateur « joker » utilise /bin/sh comme shell. sh (Bourne Shell) est un shell basique présent sur la plupart des systèmes de type Unix. bash (Bourne Again Shell) offre davantage de fonctions et est généralement plus convivial.

Modifier le shell de joker pour utiliser bash présente plusieurs avantages :

  • Une interface en ligne de commande plus intuitive
  • De meilleures possibilités de scripting
  • Davantage d’options de personnalisation pour l’environnement de l’utilisateur

Voici comment effectuer cette modification :

  1. Remplacez le shell par défaut de joker par bash :
sudo usermod -s /bin/bash joker
  1. Vérifiez la modification :
sudo grep -w 'joker' /etc/passwd

Vous devriez voir /bin/bash à la fin de l’entrée de joker. Cela signifie que bash est désormais son shell par défaut.

Après cette modification, joker disposera de l’environnement bash, plus riche en fonctions, lorsqu’il se connectera ou ouvrira une nouvelle session de terminal.

Ajout d’un utilisateur à un groupe

Sous Linux, les groupes servent à organiser les utilisateurs et à gérer les autorisations. Le groupe sudo est un groupe important : il accorde aux utilisateurs des privilèges administratifs. Ajoutez joker au groupe sudo à titre d’exemple.

Pourquoi ajouter un utilisateur au groupe sudo ?

  1. Administration système : les utilisateurs du groupe sudo peuvent effectuer des tâches administratives à l’échelle du système.
  2. Installation de logiciels : les membres du groupe sudo peuvent installer et mettre à jour des paquets logiciels.
  3. Modification de la configuration : ils peuvent modifier les fichiers de configuration du système.
  4. Gestion des utilisateurs : ils peuvent créer, modifier ou supprimer d’autres comptes utilisateur.

Vous vous demandez peut-être pourquoi ajouter un utilisateur au groupe sudo alors que la commande sudo peut toujours être utilisée. Voici les raisons :

  • Commodité : les utilisateurs du groupe sudo peuvent utiliser sudo sans connaître le mot de passe de root. Ils utilisent leur propre mot de passe.
  • Contrôle précis : les administrateurs système peuvent configurer sudo pour autoriser certains utilisateurs à exécuter uniquement certaines commandes avec les privilèges du superutilisateur.
  • Traçabilité : contrairement au partage du mot de passe root, sudo enregistre l’utilisateur qui a exécuté chaque commande, ce qui améliore la sécurité et la traçabilité.
  • Sécurité : il est généralement plus sûr d’utiliser des comptes nominatifs ayant accès à sudo que de partager le mot de passe root entre plusieurs administrateurs.

Dans un environnement réel, vous ajouteriez généralement un utilisateur au groupe sudo dans les cas suivants :

  • Il s’agit d’un administrateur système ou d’un membre du personnel informatique qui doit effectuer régulièrement des tâches de maintenance.
  • Il s’agit d’un développeur qui doit installer certains logiciels ou modifier le système dans le cadre de son travail.
  • Il s’agit d’un utilisateur avancé qui a besoin de privilèges élevés pour certaines tâches, sans pour autant lui communiquer le mot de passe root.

N’oubliez pas que l’ajout d’un utilisateur au groupe sudo lui donne un contrôle important sur le système. Cette opération doit donc être effectuée avec prudence et uniquement lorsque cela est nécessaire.

Ajoutez maintenant joker au groupe sudo :

  1. Exécutez la commande suivante :
sudo usermod -aG sudo joker

Cette commande effectue les opérations suivantes :

  • usermod est la commande qui permet de modifier les comptes utilisateur.
  • -aG signifie « ajouter au groupe » (ajouter l’utilisateur à un groupe sans le retirer des autres groupes).
  • sudo est le groupe auquel vous ajoutez l’utilisateur.
  • joker est l’utilisateur que vous modifiez.
  1. Vérifiez la modification :
groups joker

Vous devriez voir sudo parmi les groupes de joker.

  1. Pour observer l’effet de cette modification, passez à l’utilisateur joker et essayez une commande qui nécessite les privilèges sudo :
su - joker

Cette commande vous fait passer de votre utilisateur actuel (labex) à l’utilisateur joker. Vous devrez saisir le mot de passe de joker. Il s’agit du mot de passe défini précédemment (password123). Pendant la saisie, aucun caractère ne s’affichera à l’écran : il s’agit d’une mesure de sécurité.

  1. Une fois connecté en tant que joker, essayez d’afficher un fichier qui nécessite normalement les privilèges root :
sudo cat /etc/shadow

Saisissez à nouveau le mot de passe de joker lorsque vous y êtes invité. Vous devriez pouvoir voir le contenu du fichier /etc/shadow, qui est normalement accessible uniquement à root. Cela confirme que joker dispose désormais des privilèges sudo.

  1. Lorsque vous avez terminé, saisissez exit pour revenir à votre compte utilisateur initial (labex).

Remarque : dans un environnement de production, soyez très prudent quant aux utilisateurs que vous ajoutez au groupe sudo. Un grand pouvoir implique de grandes responsabilités.

Verrouillage et déverrouillage des comptes utilisateur

Vous devrez parfois désactiver temporairement un compte utilisateur sans le supprimer.

  1. Verrouillez le compte joker :
sudo passwd -l joker

L’option -l verrouille le mot de passe.

  1. Essayez de passer à l’utilisateur joker :
su - joker

Un mot de passe vous sera demandé. Saisissez le mot de passe défini précédemment pour joker (« password123 » si vous avez suivi notre suggestion).

Vous devriez voir un message « authentication failure ». Cela signifie que le compte est correctement verrouillé.

  1. Déverrouillez maintenant le compte :
sudo passwd -u joker

L’option -u déverrouille le mot de passe.

  1. Essayez à nouveau de passer à l’utilisateur joker :
su - joker

Saisissez le mot de passe lorsque vous y êtes invité. Cette fois, vous devriez pouvoir passer à l’utilisateur joker.

Saisissez exit pour revenir à votre compte utilisateur initial avant de passer à l’étape suivante.

Suppression d’un utilisateur

Pour terminer, apprenez à supprimer un utilisateur. Supprimez l’utilisateur « bob », créé précédemment.

  1. Supprimez bob ainsi que son répertoire personnel :
sudo userdel -r bob

La commande userdel supprime les comptes utilisateur. L’option -r supprime le répertoire personnel de l’utilisateur ainsi que sa boîte aux lettres.

  1. Vérifiez que l’utilisateur a été supprimé :
sudo grep -w 'bob' /etc/passwd
sudo ls -ld /home/bob

Les deux commandes ne devraient renvoyer aucun résultat. Cela signifie que l’utilisateur et son répertoire personnel ont bien été supprimés.

Résumé

Félicitations ! Vous avez terminé le lab de gestion des comptes utilisateur Linux. Vous avez appris à :

  1. Créer de nouveaux comptes utilisateur
  2. Définir les mots de passe des utilisateurs
  3. Modifier les propriétés des utilisateurs, comme le répertoire personnel et le shell par défaut
  4. Ajouter des utilisateurs à des groupes
  5. Verrouiller et déverrouiller des comptes utilisateur
  6. Supprimer des comptes utilisateur

Vous avez également découvert des concepts Linux importants, comme le fichier /etc/passwd, les répertoires personnels, les shells et les groupes d’utilisateurs. Ce sont des compétences fondamentales pour l’administration système Linux. Dans un environnement réel, respectez toujours les politiques de sécurité de votre organisation lors de la gestion des comptes utilisateur.