Gestion des comptes utilisateurs

LinuxBeginner
Pratiquer maintenant

Introduction

Cet atelier vous guidera à travers les opérations de base de la gestion des comptes utilisateurs dans les systèmes Linux. Vous apprendrez à créer, modifier et supprimer des comptes, ainsi qu'à définir et changer des mots de passe. Ce sont des compétences fondamentales pour l'administration système Linux. Ne vous inquiétez pas si vous débutez sous Linux : nous vous expliquerons chaque étape en détail !

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 textuelle où vous pouvez saisir des commandes.
  2. Tapez la commande suivante et appuyez sur Entrée :
sudo useradd joker

Analysons cette commande :

  • sudo est une commande qui vous octroie temporairement des privilèges de super-utilisateur (administrateur). Nous l'utilisons car la création d'un utilisateur nécessite ces permissions de haut niveau.
  • 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 recevrez une erreur "permission denied" (permission refusée). C'est parce que les utilisateurs ordinaires ne sont pas autorisés à créer de nouveaux comptes ; c'est une tâche réservée aux administrateurs système.

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

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

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

Vous devriez voir un résultat similaire à ceci :

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 (UID) : 5001
  • ID de Groupe (GID) : 5001
  • Répertoire personnel : /home/joker, bien qu'il n'ait pas encore été créé
  • Shell par défaut : /bin/sh

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

Créons maintenant un autre utilisateur nommé "bob" en lui attribuant un répertoire personnel.

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

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

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

Vous devriez voir un résultat similaire à :

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

Ce résultat montre :

  • Le d au début signifie qu'il s'agit d'un répertoire (directory)
  • drwxr-x--- indique qui peut lire, écrire ou exécuter dans ce dossier
  • Les deux mentions bob indiquent que l'utilisateur et le groupe propriétaires du répertoire sont bob
  • 57 est la taille du répertoire en octets
  • Jan 19 13:33 est la date de création
  • /home/bob est l'emplacement du répertoire

Définition d'un mot de passe utilisateur

Nous devons maintenant définir un mot de passe pour nos nouveaux utilisateurs. Commençons par "joker".

  1. Exécutez la commande suivante :
sudo passwd joker
  1. Le système vous demandera de saisir un nouveau mot de passe à deux reprises. Pour cet exercice, utilisez un mot de passe simple comme "password123".

Important : Le mot de passe ne s'affichera pas à l'écran pendant que vous le tapez. C'est une mesure de sécurité standard sous Linux pour empêcher quiconque de voir votre saisie. Si vous faites une erreur, vous pourrez recommencer. Important : Retenez bien ce mot de passe ! Vous en aurez besoin plus tard dans l'atelier.

  1. Si l'opération réussit, vous verrez le message "passwd: password updated successfully".

Remarque : Dans un environnement réel, utilisez toujours des mots de passe complexes et uniques !

En coulisses, Linux stocke les mots de passe chiffrés dans un fichier sécurisé nommé /etc/shadow. C'est beaucoup plus sûr que de les laisser dans /etc/passwd où n'importe qui pourrait les consulter.

Modification des propriétés de l'utilisateur

Linux permet de modifier divers paramètres d'un compte après sa création. Changeons par exemple le répertoire personnel de joker.

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

Voici l'explication :

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

L'option -w permet de rechercher le mot exact, et grep sert à filtrer le contenu du fichier. Vous devriez constater que le répertoire de joker a été mis à jour dans le résultat.

Changement du Shell de l'utilisateur

Un autre paramètre important est le shell par défaut. 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. Bien que sh (Bourne Shell) soit présent sur presque tous les systèmes de type Unix, bash (Bourne Again Shell) offre beaucoup plus de fonctionnalités et s'avère plus convivial.

Passer au shell bash pour joker offre plusieurs avantages :

  • Une interface en ligne de commande plus intuitive
  • Des capacités de scripting améliorées
  • De meilleures options de personnalisation de l'environnement

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 la modification :
sudo grep -w 'joker' /etc/passwd

Vous devriez voir /bin/bash à la fin de la ligne correspondant à joker. Cela signifie que bash est désormais son shell par défaut.

Grâce à ce changement, joker bénéficiera d'un environnement plus riche chaque fois qu'il se connectera ou ouvrira 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 permissions. Un groupe crucial est le groupe sudo, qui octroie des privilèges administratifs. Ajoutons joker au groupe sudo à titre d'exemple.

Pourquoi ajouter un utilisateur au groupe sudo ?

  1. Administration système : Les membres peuvent effectuer des tâches de maintenance globale.
  2. Installation de logiciels : Ils peuvent installer et mettre à jour des paquets.
  3. Modifications de configuration : Ils peuvent éditer les fichiers système critiques.
  4. Gestion des utilisateurs : Ils peuvent créer ou supprimer d'autres comptes.

Vous pourriez vous demander : "Pourquoi ajouter quelqu'un au groupe sudo alors qu'on peut utiliser la commande 'sudo' ?" Voici pourquoi :

  • Praticité : Les membres du groupe sudo utilisent leur propre mot de passe au lieu de celui du compte root.
  • Contrôle granulaire : Les administrateurs peuvent configurer sudo pour limiter certaines commandes à certains utilisateurs.
  • Responsabilité : Contrairement au partage du mot de passe root, sudo enregistre qui a exécuté quelle commande, améliorant ainsi la traçabilité.
  • Sécurité : Il est plus sûr d'avoir des comptes nominatifs avec accès sudo que de partager un mot de passe root unique entre plusieurs personnes.

Dans la réalité, vous ajouteriez un utilisateur au groupe sudo si :

  • C'est un administrateur système ou un membre du personnel informatique.
  • C'est un développeur ayant besoin d'installer des outils spécifiques.
  • C'est un utilisateur avancé nécessitant des privilèges élevés pour certaines tâches.

N'oubliez pas que donner l'accès sudo confère un pouvoir important sur le système ; cela doit être fait avec prudence.

Ajoutons maintenant joker au groupe sudo :

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

Explication :

  • usermod : commande de modification
  • -aG : signifie "append to Group" (ajouter au groupe sans supprimer l'utilisateur de ses groupes actuels)
  • sudo : le nom du groupe cible
  • joker : l'utilisateur à modifier
  1. Vérifiez le changement :
groups joker

Vous devriez voir sudo apparaître dans la liste des groupes de joker.

  1. Pour tester l'effet, basculons vers l'utilisateur joker et essayons une commande administrative :
su - joker

Cette commande permet de passer de votre utilisateur actuel (labex) à joker. Saisissez le mot de passe défini précédemment (password123). Rappelez-vous qu'aucun caractère ne s'affichera.

  1. Une fois connecté en tant que joker, essayez de lire un fichier normalement réservé à root :
sudo cat /etc/shadow

Saisissez à nouveau le mot de passe de joker. Vous devriez pouvoir lire le contenu du fichier /etc/shadow, prouvant que joker possède désormais les privilèges sudo.

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

Remarque : En production, soyez extrêmement sélectif sur les personnes que vous ajoutez au groupe sudo. Un grand pouvoir implique de grandes responsabilités !

Verrouillage et déverrouillage de comptes

Parfois, il est nécessaire de désactiver temporairement un compte sans pour autant le supprimer.

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

L'option -l (lock) verrouille le mot de passe.

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

Saisissez le mot de passe habituel ("password123").

Vous devriez recevoir un message "authentication failure" (échec d'authentification). Cela confirme que le compte est bien verrouillé.

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

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

  1. Réessayez de basculer vers l'utilisateur joker :
su - joker

Saisissez le mot de passe. Cette fois, la connexion devrait réussir.

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

Suppression d'un utilisateur

Enfin, apprenons à supprimer un utilisateur. Nous allons supprimer le compte "bob" créé précédemment.

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

La commande userdel supprime les comptes. L'option -r permet de supprimer également le répertoire personnel et la boîte mail de l'utilisateur.

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

Ces deux commandes ne devraient renvoyer aucun résultat, confirmant que l'utilisateur et ses fichiers ont été effacés.

Résumé

Félicitations ! Vous avez terminé cet atelier sur la gestion des comptes utilisateurs Linux. Vous avez appris à :

  1. Créer de nouveaux comptes utilisateurs
  2. Définir des mots de passe
  3. Modifier les propriétés d'un utilisateur (répertoire personnel, shell)
  4. Gérer l'appartenance aux groupes
  5. Verrouiller et déverrouiller des comptes
  6. Supprimer des comptes utilisateurs

Vous avez également abordé des concepts clés comme le fichier /etc/passwd, les répertoires personnels, les shells et les groupes. Ce sont des bases essentielles pour tout administrateur système Linux. Dans un contexte professionnel, veillez toujours à respecter les politiques de sécurité de votre organisation lors de la gestion des accès.