Gestion des identités d'utilisateurs et des contrôles d'accès sous Linux

CompTIABeginner
Pratiquer maintenant

Introduction

Bienvenue dans le laboratoire sur la gestion des identités d'utilisateurs et des contrôles d'accès sous Linux. Une gestion appropriée des utilisateurs et des accès est une pierre angulaire de la sécurité et de l'administration des systèmes. Elle garantit que les utilisateurs n'ont accès qu'aux ressources nécessaires à leurs rôles, empêchant ainsi les actions non autorisées et les potentielles violations de sécurité.

Dans ce laboratoire, vous acquerrez une expérience pratique des outils en ligne de commande essentiels pour la gestion des utilisateurs, des groupes et des permissions. Vous apprendrez à créer des comptes utilisateurs, à gérer les appartenances aux groupes, à contrôler l'accès aux fichiers avec chmod et chown, et à accorder des privilèges administratifs spécifiques en utilisant sudo. À la fin de ce laboratoire, vous aurez une base solide pour sécuriser un environnement Linux.

Créer et gérer des comptes utilisateurs et des groupes

Dans cette étape, vous apprendrez à créer et gérer des comptes utilisateurs et des groupes, qui sont des tâches fondamentales pour tout administrateur système Linux. Nous allons créer un nouvel utilisateur, un nouveau groupe, puis ajouter l'utilisateur à ce groupe.

Tout d'abord, créons un nouvel utilisateur nommé alice. Nous utiliserons la commande useradd avec l'option -m, qui indique au système de créer un répertoire personnel pour l'utilisateur.

sudo useradd -m alice

Ensuite, chaque compte utilisateur doit avoir un mot de passe. Utilisez la commande passwd pour définir un mot de passe pour alice. Il vous sera demandé de saisir et de confirmer le nouveau mot de passe.

sudo passwd alice

Vous pouvez saisir un mot de passe simple comme password pour ce laboratoire. Assurez-vous de taper le même mot de passe deux fois – s'ils ne correspondent pas, vous verrez une erreur et devrez réessayer.

Pour vérifier que l'utilisateur alice a été créé, vous pouvez consulter le fichier /etc/passwd, qui contient des informations sur tous les comptes utilisateurs.

grep alice /etc/passwd

Vous devriez voir une ligne de sortie contenant les détails de l'utilisateur alice.

alice:x:5001:5001::/home/alice:/bin/sh

Maintenant, créons un nouveau groupe appelé developers. Nous utilisons la commande groupadd pour cela.

sudo groupadd developers

Pour vérifier la création du groupe, vous pouvez consulter le fichier /etc/group.

grep developers /etc/group

La sortie devrait afficher le nouveau groupe.

developers:x:5003:

Enfin, ajoutons notre nouvel utilisateur alice au groupe developers. Nous utilisons la commande usermod avec les options -aG. -a signifie "append" (ajouter), et -G spécifie le(s) groupe(s). Il est important d'utiliser -a pour éviter de retirer l'utilisateur d'autres groupes auxquels il pourrait appartenir.

sudo usermod -aG developers alice

Pour confirmer que alice est maintenant membre du groupe developers, utilisez la commande groups.

groups alice

La sortie listera tous les groupes auxquels alice appartient, ce qui devrait maintenant inclure developers.

alice : alice developers

Configurer les permissions des fichiers et répertoires (chmod, chown)

Dans cette étape, vous apprendrez à gérer les permissions de fichiers et de répertoires à l'aide des commandes chmod et chown. Celles-ci sont essentielles pour contrôler qui peut lire, écrire ou exécuter des fichiers sur votre système. Nous allons travailler avec un fichier situé dans ~/project/reports/quarterly.txt.

Tout d'abord, examinons la propriété et les permissions actuelles du fichier à l'aide de la commande ls -l.

ls -l reports/quarterly.txt

La sortie ressemblera à ceci, indiquant que le fichier appartient à l'utilisateur et au groupe labex.

-rw-rw-r-- 1 labex labex 20 Aug  5 10:34 reports/quarterly.txt

Maintenant, changeons la propriété de ce fichier. Nous allons faire de l'utilisateur alice le propriétaire et du groupe developers le propriétaire du groupe. Nous utilisons la commande chown pour cela. La syntaxe est chown utilisateur:groupe nom_fichier.

sudo chown alice:developers reports/quarterly.txt

Vérifions le changement en exécutant à nouveau ls -l.

ls -l reports/quarterly.txt

La sortie affiche maintenant le nouveau propriétaire et le nouveau groupe.

-rw-rw-r-- 1 alice developers 20 Aug  5 10:34 reports/quarterly.txt

Ensuite, nous allons modifier les permissions du fichier à l'aide de la commande chmod. Nous voulons définir les permissions de manière à ce que :

  • Le propriétaire (alice) ait les droits de lecture et d'écriture (rw-).
  • Le groupe (developers) ait les droits de lecture uniquement (r--).
  • Les autres n'aient aucun droit (---).

En notation octale (numérique), la lecture vaut 4, l'écriture vaut 2, et l'exécution vaut 1. Ainsi, rw- correspond à 4+2=6, r-- correspond à 4, et --- correspond à 0. Cela nous donne le code de permission 640.

Appliquons ces permissions.

sudo chmod 640 reports/quarterly.txt

Enfin, vérifions les permissions une dernière fois pour confirmer qu'elles sont correctement définies.

ls -l reports/quarterly.txt

La sortie devrait maintenant refléter les nouvelles permissions -rw-r-----.

-rw-r----- 1 alice developers 20 Aug  5 10:34 reports/quarterly.txt

Implémenter Sudo pour la gestion des accès privilégiés

Dans cette étape, vous apprendrez à accorder un accès privilégié aux utilisateurs à l'aide de sudo. Au lieu de donner un accès complet à root, sudo permet un contrôle granulaire sur les commandes qu'un utilisateur peut exécuter avec des privilèges élevés. C'est une pratique beaucoup plus sécurisée.

La configuration de sudo est stockée dans le fichier /etc/sudoers. La manière la plus sûre d'éditer ce fichier est d'utiliser la commande visudo, qui verrouille le fichier et vérifie les erreurs de syntaxe avant de sauvegarder.

Donnons à l'utilisateur alice la permission d'exécuter la commande apt update sans avoir à entrer de mot de passe.

Ouvrez le fichier sudoers pour l'édition :

sudo EDITOR=nano visudo

Cela ouvrira le fichier dans un éditeur de texte (comme nano). Faites défiler jusqu'en bas du fichier et ajoutez la ligne suivante :

alice ALL=(ALL) NOPASSWD: /usr/bin/apt update

Cette ligne signifie : l'utilisateur alice sur ALL les hôtes peut exécuter des commandes en tant que ALL utilisateurs ((ALL)) sans mot de passe (NOPASSWD:) pour la commande spécifiée /usr/bin/apt update.

Après avoir ajouté la ligne, sauvegardez et quittez l'éditeur. Dans nano, vous pouvez le faire en appuyant sur Ctrl+O, puis Entrée pour confirmer le nom du fichier, et Ctrl+X pour quitter.

Maintenant, testons la nouvelle règle. Nous devons passer au compte utilisateur alice.

sudo su - alice

Votre invite de commande changera pour indiquer que vous êtes maintenant connecté en tant que alice. Essayez maintenant d'exécuter la commande autorisée.

sudo /usr/bin/apt update

La commande devrait s'exécuter avec succès sans demander de mot de passe. Vous verrez les listes de paquets être mises à jour.

Ensuite, essayons d'exécuter une commande que alice n'est pas autorisée à exécuter avec sudo, comme apt upgrade.

sudo /usr/bin/apt upgrade

Cette commande échouera, et vous verrez un message [sudo] password for alice: indiquant que l'utilisateur alice n'est pas autorisé à exécuter cette commande.

[sudo] password for alice:

Appuyez sur Ctrl+C pour quitter la commande.

Cela confirme que notre règle sudo fonctionne comme prévu. Maintenant, revenez à votre utilisateur labex d'origine.

exit

Examiner les journaux Sudo pour l'activité d'accès privilégié

Dans cette étape, vous apprendrez à examiner les journaux système pour surveiller l'accès privilégié. L'audit de l'utilisation de sudo est une pratique de sécurité essentielle pour suivre qui exécute des commandes en tant que root et quand.

Sur les systèmes basés sur Debian comme Ubuntu, les commandes sudo sont enregistrées dans le fichier /var/log/auth.log. Ce fichier est protégé, vous devez donc utiliser sudo pour le lire.

Nous pouvons utiliser la commande grep pour filtrer le journal et trouver les entrées relatives aux commandes sudo exécutées par l'utilisateur alice à l'étape précédente.

Exécutez la commande suivante pour rechercher dans le journal d'autorisation :

sudo grep 'sudo.*alice' /var/log/auth.log

La sortie affichera plusieurs lignes. Vous devriez pouvoir identifier les journaux des tentatives sudo réussies et échouées.

Une tentative réussie ressemblera à ceci, montrant la commande qui a été exécutée :

... labex-vm sudo:    alice : TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt update

Une tentative échouée sera également enregistrée, indiquant clairement que la commande n'était pas autorisée :

... labex-vm sudo:    alice : user NOT allowed to execute /usr/bin/apt upgrade on labex-vm ; TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt upgrade

L'examen de ces journaux permet aux administrateurs de surveiller les activités suspectes et de s'assurer que les commandes privilégiées sont utilisées de manière appropriée.

Résumé

Félicitations pour avoir terminé le laboratoire !

Dans ce laboratoire, vous avez acquis une expérience pratique des tâches essentielles de gestion des utilisateurs et des accès sous Linux. Ces compétences sont fondamentales pour maintenir un système Linux sécurisé et bien organisé.

Vous avez appris à :

  • Créer de nouveaux utilisateurs et groupes à l'aide de useradd et groupadd.
  • Modifier la propriété des fichiers avec chown et les permissions avec chmod.
  • Implémenter une gestion des accès privilégiés granulaire à l'aide de sudo et de la commande visudo.
  • Auditer l'activité sudo en examinant les journaux système dans /var/log/auth.log.

En maîtrisant ces commandes, vous êtes désormais mieux équipé pour gérer les utilisateurs et protéger les données sensibles sur n'importe quel serveur Linux.