JOUR 05 : Le Gardien des Clés

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue pour votre dernier jour de la semaine chez LabEx Corporation ! Quel parcours incroyable, depuis votre première mission de reconnaissance jusqu'à devenir le Gardien de la Forteresse. Aujourd'hui, l'entreprise vous promeut à un poste de confiance ultime : Gardien des Clés pour le Projet Phoenix.

Le CTO vous convoque pour un briefing critique : « Le Projet Phoenix entre dans sa phase finale, et nous avons besoin d'un contrôle absolu sur les accès à nos systèmes. Nous accueillons une nouvelle développeuse senior, Brenda Smith, qui dirigera la phase finale. Malheureusement, nous avons également découvert que John Doe, un prestataire de l'équipe précédente, a eu un accès non autorisé lors de l'incident de sécurité que vous avez enquêté. Son accès doit être révoqué immédiatement. »

En tant que Gardien des Clés, vous contrôlez désormais la passerelle humaine vers le Projet Phoenix. Vos décisions de gestion des utilisateurs détermineront qui peut contribuer au projet le plus important de TechNova et qui doit être exclu pour des raisons de sécurité.

C'est le moment de démontrer votre maîtrise totale de l'administration des utilisateurs sous Linux. L'avenir du Projet Phoenix dépend de votre capacité à accorder l'accès à ceux qui en ont besoin et à le refuser à ceux qui pourraient compromettre le système. Accomplissons cette mission !

Intégrer un nouveau développeur au système

Votre première tâche consiste à créer un nouveau compte utilisateur pour Brenda Smith, la développeuse senior qui dirigera la phase finale du Projet Phoenix. La politique de TechNova impose que les noms d'utilisateur suivent le format initiale_prénom.nom.

Tâches

  • Créer un nouveau compte utilisateur pour Brenda Smith.

Exigences

  • Le nom d'utilisateur doit être b.smith.
  • Utilisez la commande useradd pour ajouter le nouvel utilisateur au système. Vous aurez besoin des privilèges sudo.

Conseils

  • Ce défi attend l'utilisation de la commande standard useradd plutôt que l'utilitaire interactif adduser.
  • N'oubliez pas d'utiliser sudo pour exécuter les commandes avec des privilèges administratifs.

Exemples

Après avoir créé avec succès le compte utilisateur, vous devriez voir l'entrée de l'utilisateur dans la base de données du système :

$ grep "b.smith" /etc/passwd
b.smith:x:5002:5004::/home/b.smith:/bin/sh

Le compte utilisateur sera créé avec un identifiant utilisateur (UID) et un identifiant de groupe (GID) attribués par le système. Vous pouvez vérifier que le compte existe et consulter ses détails en utilisant :

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith)
✨ Vérifier la solution et pratiquer

Créer un répertoire personnel dédié pour le nouvel utilisateur

Vous avez créé l'utilisateur, mais vous avez oublié une étape cruciale ! Brenda, en tant que développeuse senior dirigeant la phase finale du Projet Phoenix, a besoin de son propre espace de travail sécurisé pour stocker les fichiers critiques du projet et ses outils de développement. Vous devez vous assurer qu'un répertoire personnel (home directory) est créé pour elle.

Tâches

  • Créer un répertoire personnel pour l'utilisateur b.smith situé à /home/b.smith.

Exigences

  • Le répertoire personnel doit être créé pour l'utilisateur b.smith.
  • Vous devez utiliser une option avec la commande useradd pour créer le répertoire personnel automatiquement. Si vous avez déjà créé l'utilisateur sans répertoire personnel, vous devrez peut-être supprimer l'utilisateur d'abord, puis le recréer correctement.
  • Les solutions valides incluent -m ou --create-home, et l'option peut être placée avant ou après le nom d'utilisateur.

Conseils

  • Pour supprimer un utilisateur, vous pouvez utiliser la commande userdel. Par exemple : sudo userdel b.smith.
  • La commande useradd possède un indicateur spécifique pour créer un répertoire personnel pour l'utilisateur. Consultez la page man useradd pour une option comme -m ou --create-home.

Exemples

Après avoir créé l'utilisateur avec un répertoire personnel, vous devriez voir le nouveau répertoire dans la liste des répertoires personnels :

$ ls -la /home/
drwxr-xr-x 1 root root 47 Sep 3 16:32 .
drwxr-xr-x 1 root root 62 Sep 3 16:31 ..
-rw-r--r-- 1 root root 58 Jul 18 2024 .zshrc
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 b.smith
drwxr-x--- 2 j.doe j.doe 57 Sep 3 16:31 j.doe
drwxr-x--- 1 labex labex 4096 Sep 3 16:35 labex

Le répertoire personnel appartiendra à l'utilisateur avec des permissions restreintes (accessibles uniquement par le propriétaire et le groupe). Pour voir le contenu, vous pourriez avoir besoin des permissions appropriées ou utiliser sudo :

$ sudo ls -la /home/b.smith/
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 .
drwxr-xr-x 1 root root 47 Sep 3 16:32 ..
-rw-r--r-- 1 b.smith b.smith 220 Sep 3 16:32 .bash_logout
-rw-r--r-- 1 b.smith b.smith 3771 Sep 3 16:32 .bashrc
-rw-r--r-- 1 b.smith b.smith 655 Sep 3 16:32 .profile
✨ Vérifier la solution et pratiquer

Attribuer un mot de passe initial au nouvel utilisateur

Le compte utilisateur b.smith est créé, mais il est actuellement verrouillé. Brenda ne peut pas accéder aux systèmes du Projet Phoenix pour commencer son rôle de leader sans mot de passe. Votre tâche suivante est de définir un mot de passe initial sécurisé pour son compte.

Tâches

  • Définir un mot de passe pour l'utilisateur b.smith.

Exigences

  • Utilisez la commande Linux standard pour changer le mot de passe d'un utilisateur.
  • Vous serez invité à saisir et confirmer le nouveau mot de passe. Vous pouvez utiliser n'importe quel mot de passe simple, par exemple password123.

Conseils

  • La commande pour définir ou changer les mots de passe est passwd.
  • Comme vous changez le mot de passe d'un autre utilisateur, vous aurez besoin des privilèges sudo. La syntaxe est sudo passwd <nom_utilisateur>.

Exemples

Après avoir défini le mot de passe avec succès, le compte utilisateur devrait avoir un hash de mot de passe dans le fichier shadow. Vous pouvez le vérifier en consultant le fichier shadow (note : cela nécessite des privilèges root) :

$ sudo grep "^b.smith:" /etc/shadow
b.smith:$y$j9T$XbJLH9LJgY518Th4qcd1V0$NrfHOJ2MGm/1OhLGfpfMQkvPasV23Eenhwl9bA0i8O4:20334:0:99999:7:::
✨ Vérifier la solution et pratiquer

Ajouter la nouvelle développeuse au groupe "developers"

Pour garantir que Brenda ait accès aux fichiers et dépôts du Projet Phoenix que vous avez sécurisés toute la semaine, elle doit être ajoutée au groupe developers. Il s'agit du même groupe avec lequel vous avez travaillé tout au long de votre séjour chez TechNova, et il possède les permissions spéciales nécessaires pour le projet.

Tâches

  • Ajouter l'utilisateur b.smith au groupe developers.

Exigences

  • L'utilisateur b.smith doit être membre du groupe developers.
  • Les appartenances aux groupes existants de l'utilisateur ne doivent pas être supprimées.

Conseils

  • La commande usermod est utilisée pour modifier un compte utilisateur.
  • Recherchez les options -a (append) et -G (groups). Les utiliser ensemble garantit que vous ajoutez l'utilisateur à un nouveau groupe sans le supprimer des groupes existants.

Exemples

Après avoir ajouté avec succès l'utilisateur au groupe developers, vous devriez voir l'appartenance au groupe reflétée dans la liste des groupes de l'utilisateur :

$ groups b.smith
b.smith : b.smith developers

Vous pouvez également vérifier en utilisant la commande id pour voir des informations plus détaillées sur les groupes :

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith),5003(developers)

L'utilisateur devrait maintenant avoir accès aux fichiers et répertoires accessibles au groupe developers. Vous pouvez vérifier le fichier de groupe pour confirmer que le groupe existe :

$ grep "^developers:" /etc/group
developers:x:5003:b.smith

Remarquez que b.smith apparaît dans la liste des membres du groupe. Cela confirme que l'utilisateur a été ajouté avec succès au groupe tout en préservant ses appartenances aux groupes existants.

✨ Vérifier la solution et pratiquer

Désactiver temporairement le compte d'un employé sur le départ

Voici votre dernière tâche de la semaine, et l'action de sécurité la plus critique pour le Projet Phoenix. John Doe (j.doe) a été identifié lors de votre enquête précédente comme ayant potentiellement eu un accès non autorisé lors de l'incident de sécurité. Le CTO a ordonné son retrait immédiat de tous les systèmes de TechNova. Cependant, les équipes juridiques et de conformité ont besoin que ses fichiers soient préservés pour l'audit de sécurité en cours, vous devez donc verrouiller le compte plutôt que de le supprimer entièrement.

Tâches

  • Verrouiller le compte utilisateur de j.doe pour empêcher les connexions.

Exigences

  • Le compte utilisateur j.doe doit être verrouillé.
  • Ne supprimez pas l'utilisateur ni son répertoire personnel.

Conseils

  • Vous pouvez utiliser la commande usermod avec l'option -L (lock).
  • Alternativement, la commande passwd possède un indicateur -l (lock) qui permet d'obtenir le même résultat.
  • N'oubliez pas d'utiliser sudo.

Exemples

Vous pouvez vérifier que le compte est verrouillé en consultant le fichier shadow :

$ sudo grep "^j.doe:" /etc/shadow
j.doe:!:20334:0:99999:7:::

Remarquez le point d'exclamation (!) au début du champ du mot de passe - cela indique que le compte est verrouillé. Le hash du mot de passe original est préservé après le ! pour un éventuel déverrouillage futur.

✨ Vérifier la solution et pratiquer

Résumé

Félicitations, Gardien des Clés ! Vous avez terminé avec succès votre incroyable première semaine chez LabEx Corporation et sécurisé le Projet Phoenix pour sa phase finale.

Tout au long de cette semaine transformatrice, vous avez évolué d'un nouvel administrateur système junior à un gardien de confiance des systèmes les plus critiques de TechNova. Dans votre dernier défi, vous avez maîtrisé les commandes essentielles de gestion des utilisateurs :

  • Création d'un nouveau compte utilisateur pour la développeuse senior dirigeant la phase finale du Projet Phoenix.
  • Configuration de répertoires personnels sécurisés pour les membres critiques de l'équipe.
  • Mise en œuvre de politiques de mots de passe robustes en utilisant passwd.
  • Gestion des appartenances aux groupes pour garantir un accès approprié aux ressources du Projet Phoenix.
  • Sécurisation du système en désactivant les accès non autorisés tout en préservant les pistes d'audit.

De la reconnaissance initiale à l'architecture numérique, l'investigation des logs, la mise en œuvre de la sécurité et enfin la gestion des utilisateurs, vous avez démontré l'ensemble des compétences d'un administrateur système professionnel. Le CTO a confirmé votre poste permanent et discute déjà d'opportunités de promotion.

Le Projet Phoenix est désormais entre de bonnes mains, et l'avenir de TechNova est assuré grâce à votre dévouement et votre expertise !