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".
- Ouvrez un terminal. Sous Linux, le terminal est une interface textuelle où vous pouvez saisir des commandes.
- Tapez la commande suivante et appuyez sur Entrée :
sudo useradd joker
Analysons cette commande :
sudoest 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.useraddest la commande pour créer un nouvel utilisateur.jokerest 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.
- 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.
- 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.
- 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
dau 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
bobindiquent que l'utilisateur et le groupe propriétaires du répertoire sont bob 57est la taille du répertoire en octetsJan 19 13:33est la date de création/home/bobest 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".
- Exécutez la commande suivante :
sudo passwd joker
- 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.
- 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.
- Exécutez la commande suivante :
sudo usermod -d /home/wayne joker
Voici l'explication :
usermodest la commande pour modifier les paramètres d'un compte-d /home/waynespécifie le nouveau chemin du répertoire personneljokerest l'utilisateur concerné
- 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 :
- Changez le shell par défaut de joker pour bash :
sudo usermod -s /bin/bash joker
- 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 ?
- Administration système : Les membres peuvent effectuer des tâches de maintenance globale.
- Installation de logiciels : Ils peuvent installer et mettre à jour des paquets.
- Modifications de configuration : Ils peuvent éditer les fichiers système critiques.
- 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 :
- 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 ciblejoker: l'utilisateur à modifier
- Vérifiez le changement :
groups joker
Vous devriez voir sudo apparaître dans la liste des groupes de joker.
- 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.
- 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.
- Une fois terminé, tapez
exitpour 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.
- Verrouillez le compte de joker :
sudo passwd -l joker
L'option -l (lock) verrouille le mot de passe.
- 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é.
- Maintenant, déverrouillons le compte :
sudo passwd -u joker
L'option -u (unlock) déverrouille le mot de passe.
- 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.
- 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.
- 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 à :
- Créer de nouveaux comptes utilisateurs
- Définir des mots de passe
- Modifier les propriétés d'un utilisateur (répertoire personnel, shell)
- Gérer l'appartenance aux groupes
- Verrouiller et déverrouiller des comptes
- 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.



