Gestion des comptes utilisateurs

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire vous guidera à travers les opérations de base de gestion de comptes utilisateur dans les systèmes Linux. Vous apprendrez à créer, modifier et supprimer des comptes utilisateur, ainsi qu'à définir et changer des mots de passe. Ce sont des compétences fondamentales pour l'administration de systèmes Linux. N'ayez pas peur si vous êtes nouveau dans le monde de Linux - nous expliquerons tout étape par étape!

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 89%. Il a reçu un taux d'avis positifs de 99% de la part des apprenants.

Création d'un nouvel utilisateur

Commençons par créer un nouveau compte utilisateur nommé "joker".

  1. Ouvrez un terminal. Sous Linux, le terminal est une interface texte dans laquelle vous pouvez entrer des commandes.
  2. Tapez la commande suivante et appuyez sur Entrée :
sudo useradd joker

Décortiquons cette commande :

  • sudo est une commande qui vous accorde temporairement les privilèges de superutilisateur (administrateur). Nous l'utilisons car la création d'un nouvel utilisateur nécessite ces autorisations de niveau supérieur.
  • useradd est la commande pour créer un nouvel utilisateur.
  • joker est le nom d'utilisateur que nous créons.

Remarque : Si vous essayez d'exécuter cette commande sans sudo, vous obtiendrez une erreur "permission denied" (autorisation refusée). En effet, les utilisateurs normaux ne sont pas autorisés à créer de nouveaux comptes utilisateur - c'est une tâche réservée aux administrateurs système.

Cela souligne la différence entre un superutilisateur et un utilisateur ordinaire. En tant qu'utilisateur ordinaire, vous ne pouvez pas créer de nouveaux comptes utilisateur, mais en utilisant sudo, vous pouvez temporairement élever vos privilèges pour effectuer cette tâche administrative.

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

Le fichier /etc/passwd est comme un annuaire pour les comptes utilisateur. Chaque ligne représente un compte utilisateur, avec différentes informations séparées par des deux-points (:).

Vous devriez voir une sortie similaire à :

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

Cette ligne montre :

  • Nom d'utilisateur : joker
  • Mot de passe : x (le mot de passe réel est stocké de manière sécurisée ailleurs)
  • Identifiant utilisateur : 5001
  • Identifiant 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

Maintenant, créons un autre utilisateur nommé "bob" et attribuons-lui un répertoire personnel.

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

L'option -m indique au système de créer un répertoire personnel pour l'utilisateur. Un répertoire personnel est comme un dossier personnel où un utilisateur peut stocker ses fichiers et ses paramètres.

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

Vous devriez voir une sortie similaire à :

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

Cette sortie montre :

  • Le d au début indique qu'il s'agit d'un répertoire
  • rwxr-x--- indique qui peut lire, écrire ou exécuter 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 bob
  • 57 est la taille du répertoire en octets
  • Jan 19 13:33 est la date et l'heure de création du répertoire
  • /home/bob est l'emplacement du répertoire

Définition d'un mot de passe pour un utilisateur

Maintenant, nous devons définir un mot de passe pour nos nouveaux utilisateurs. Définissons un mot de passe pour "joker".

  1. Exécutez la commande suivante :
sudo passwd joker
  1. Vous serez invité à entrer un nouveau mot de passe deux fois. Pour ce laboratoire, utilisez un mot de passe simple comme "password123".

Le mot de passe ne sera pas affiché lorsque vous le taperez. C'est une fonction de sécurité pour empêcher les autres de voir votre mot de passe pendant que vous le tapez.

Important : N'oubliez pas ce mot de passe! Vous en aurez besoin plus tard dans le laboratoire.

  1. En cas de succès, vous verrez un message indiquant "passwd: password updated successfully" (le mot de passe a été mis à jour avec succès).

Remarque : Dans un scénario réel, utilisez toujours des mots de passe forts et uniques!

En coulisse, Linux stocke les mots de passe chiffrés dans un fichier sécurisé appelé /etc/shadow. C'est plus sûr que de les stocker dans le fichier /etc/passwd où tout le monde pourrait les voir.

Modification des propriétés d'un utilisateur

Linux nous permet de modifier diverses paramètres d'un compte utilisateur après sa création. Modifions le répertoire personnel de "joker" à titre d'exemple.

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

Voici ce que cette commande fait :

  • usermod est la commande pour modifier les paramètres d'un compte utilisateur
  • -d /home/wayne spécifie le nouveau répertoire personnel
  • joker est l'utilisateur que nous modifions
  1. Vérifions la modification :
sudo grep -w 'joker' /etc/passwd

L'option -w est utilisée pour correspondre au mot entier, et grep est utilisé pour rechercher le mot dans le fichier. Vous devriez voir que le répertoire personnel de "joker" a été mis à jour dans la sortie.

Changement du shell d'un utilisateur

Un autre paramètre important que nous pouvons modifier est le shell par défaut de l'utilisateur. Le shell est le programme qui interprète et exécute les commandes que vous tapez dans le terminal.

Par défaut, l'utilisateur 'joker' utilise /bin/sh comme shell. Alors que sh (Bourne Shell) est un shell de base présent sur la plupart des systèmes de type Unix, bash (Bourne Again Shell) offre plus de fonctionnalités et est généralement plus convivial.

Changer le shell de 'joker' pour bash présente plusieurs avantages :

  • Interface en ligne de commande plus intuitive
  • Capacités de scripting améliorées
  • Meilleures options de personnalisation de l'environnement de l'utilisateur

Voici comment effectuer le changement :

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

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

Après avoir effectué ce changement, 'joker' aura accès à l'environnement bash plus riche en fonctionnalités chaque fois qu'il se connecte ou ouvre une nouvelle session de terminal.

Ajout d'un utilisateur à un groupe

Sous Linux, nous utilisons les groupes pour organiser les utilisateurs et gérer les autorisations. Un groupe important est le groupe sudo, qui accorde aux utilisateurs des privilèges d'administration. Ajoutons '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 d'administration à l'échelle du système.
  2. Installation de logiciels : Les membres du groupe sudo peuvent installer et mettre à jour des paquets logiciels.
  3. Changements de configuration : Ils peuvent modifier les fichiers de configuration système.
  4. Gestion des utilisateurs : Ils peuvent créer, modifier ou supprimer d'autres comptes utilisateurs.

Vous vous demandez peut-être : "Pourquoi ajouter quelqu'un au groupe sudo alors que nous pouvons toujours utiliser la commande 'sudo'?" Voici pourquoi :

  • Confort : Les utilisateurs du groupe sudo peuvent utiliser sudo sans avoir besoin de connaître le mot de passe root. Ils utilisent leur propre mot de passe à la place.
  • Contrôle granulaire : Les administrateurs système peuvent configurer sudo pour autoriser des utilisateurs spécifiques à exécuter seulement certaines commandes avec des privilèges de superutilisateur.
  • Responsabilité : Contrairement au partage du mot de passe root, sudo enregistre qui a exécuté quelle commande, améliorant ainsi la sécurité et la traçabilité.
  • Sécurité : Il est généralement plus sûr d'avoir des comptes nommés avec accès sudo que de partager le mot de passe root entre plusieurs administrateurs.

Dans un scénario réel, vous ajouteriez généralement un utilisateur au groupe sudo si :

  • C'est un administrateur système ou un membre du personnel informatique qui a besoin d'effectuer des tâches de maintenance régulières.
  • C'est un développeur qui a besoin d'installer des logiciels spécifiques ou de faire des modifications système pour son travail.
  • C'est un utilisateur avancé qui a besoin de privilèges élevés pour certaines tâches, mais vous ne voulez pas lui donner le mot de passe root.

N'oubliez pas que l'ajout d'un utilisateur au groupe sudo lui donne un pouvoir considérable sur le système, donc cela doit être fait avec prudence et seulement si nécessaire.

Maintenant, ajoutons 'joker' au groupe sudo :

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

Voici ce que cette commande fait :

  • usermod est la commande pour modifier les comptes utilisateurs
  • -aG signifie "ajouter au Groupe" (ajouter à un groupe sans le supprimer des autres groupes)
  • sudo est le groupe auquel nous ajoutons l'utilisateur
  • joker est l'utilisateur que nous modifions
  1. Vérifiez le changement :
groups joker

Vous devriez voir sudo répertorié parmi les groupes de 'joker'.

  1. Pour voir l'effet de ce changement, nous devons basculer sur l'utilisateur 'joker' et tester une commande qui nécessite des privilèges sudo :
su - joker

Cette commande permet de passer de votre utilisateur actuel (labex) à l'utilisateur 'joker'. Vous serez invité à entrer le mot de passe de 'joker'. N'oubliez pas, c'est le mot de passe que vous avez défini précédemment (password123). Lorsque vous tapez le mot de passe, vous ne verrez aucun caractère à l'écran - c'est une fonction de sécurité.

  1. Une fois connecté en tant que 'joker', essayons de visualiser un fichier qui nécessite normalement des privilèges root :
sudo cat /etc/shadow

Entrez à nouveau le mot de passe de 'joker' lorsque vous y êtes invité. Vous devriez être en mesure de voir le contenu du fichier /etc/shadow, qui n'est normalement accessible qu'au root. Cela confirme que 'joker' dispose maintenant de privilèges sudo.

  1. Une fois que vous avez terminé, tapez exit pour revenir à votre compte utilisateur d'origine (labex).

Remarque : Dans un environnement de production, vous devez être très prudent quant à qui vous ajoutez au groupe sudo. Avec de grands pouvoirs viennent de grandes responsabilités!

Verrouillage et déverrouillage de comptes utilisateurs

Parfois, vous devrez peut-être désactiver temporairement un compte utilisateur sans le supprimer.

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

L'option -l verrouille le mot de passe.

  1. Essayez de basculer sur l'utilisateur 'joker' :
su - joker

Vous serez invité à entrer un mot de passe. Entrez le mot de passe que vous avez défini pour 'joker' précédemment ("password123" si vous avez suivi notre suggestion).

Vous devriez voir un message "authentication failure" (échec d'authentification). Cela signifie que le compte est correctement verrouillé.

  1. Maintenant, déverrouillons le compte :
sudo passwd -u joker

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

  1. Essayez de basculer à nouveau sur l'utilisateur 'joker' :
su - joker

Entrez le mot de passe lorsque vous y êtes invité. Cette fois, vous devriez être en mesure de basculer avec succès sur l'utilisateur 'joker'.

Tapez exit pour revenir à votre compte utilisateur d'origine avant de passer à l'étape suivante.

Suppression d'un utilisateur

Enfin, apprenons à supprimer un utilisateur. Nous allons supprimer l'utilisateur "bob" que nous avons créé précédemment.

  1. Supprimez "bob" et son répertoire personnel :
sudo userdel -r bob

La commande userdel supprime les comptes utilisateurs. L'option -r supprime le répertoire personnel de l'utilisateur et 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 retourner aucun résultat. Cela signifie que l'utilisateur et son répertoire personnel ont été supprimés avec succès.

Résumé

Félicitations! Vous avez terminé le laboratoire (lab) sur la gestion des comptes utilisateurs Linux. Vous avez appris à :

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

Vous avez également été introduit à des concepts Linux importants tels que le fichier /etc/passwd, les répertoires personnels, les shells et les groupes d'utilisateurs. Ce sont des compétences fondamentales pour l'administration de systèmes Linux. N'oubliez pas qu'en situation réelle, suivez toujours les politiques de sécurité de votre organisation lors de la gestion des comptes utilisateurs.