Changement d'utilisateur Linux

LinuxBeginner
Pratiquer maintenant

Introduction

Linux est un système d'exploitation multi-utilisateur où plusieurs utilisateurs peuvent travailler simultanément. Comprendre comment naviguer entre différents comptes utilisateur est une compétence fondamentale pour les administrateurs système et les utilisateurs Linux. Ce laboratoire (lab) vous présente la commutation d'utilisateur dans Linux en utilisant la commande su (substitute user, substituer l'utilisateur).

Dans ce laboratoire (lab), vous apprendrez à créer un nouvel utilisateur, à basculer entre les utilisateurs, à effectuer des opérations en tant qu'utilisateurs différents et à revenir à votre compte utilisateur d'origine. Ces compétences sont essentielles pour les tâches d'administration système, les pratiques de sécurité et la compréhension des autorisations utilisateur dans les environnements Linux.

Comprendre les utilisateurs Linux et créer un nouvel utilisateur

Dans Linux, chaque utilisateur dispose de son propre compte avec des autorisations spécifiques et un répertoire personnel. Avant de pouvoir basculer entre les utilisateurs, nous devons créer un deuxième compte utilisateur.

Créer un nouvel utilisateur

Créons un nouvel utilisateur nommé apprentice en utilisant la commande adduser. Cette commande nécessite des privilèges d'administration, nous allons donc utiliser sudo pour l'exécuter avec des autorisations élevées :

sudo adduser apprentice

Lorsque vous exécutez cette commande, vous serez invité à définir un mot de passe pour le nouvel utilisateur et à fournir des informations facultatives. Pour ce laboratoire (lab), définissons le mot de passe sur password123 et vous pouvez appuyer sur Entrée pour sauter les champs d'informations facultatives :

Adding user `apprentice' ...
Adding new group `apprentice' (1001) ...
Adding new user `apprentice' (1001) with group `apprentice' ...
Creating home directory `/home/apprentice' ...
Copying files from `/etc/skel' ...
New password: password123
Retype new password: password123
passwd: password updated successfully
Changing the user information for apprentice
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y

Accorder des privilèges sudo

Maintenant, donnons les privilèges sudo à l'utilisateur apprentice afin qu'il puisse effectuer des tâches d'administration :

sudo usermod -aG sudo apprentice

Cette commande ajoute l'utilisateur apprentice au groupe sudo. Aucune sortie ne sera affichée si la commande s'exécute avec succès.

Vérifier l'existence de l'utilisateur

Pour vérifier que notre nouvel utilisateur a été créé avec succès, nous pouvons lister le contenu du répertoire /home :

ls -l /home

Vous devriez voir un répertoire pour l'utilisateur apprentice :

total 8
drwxr-xr-x 5 apprentice apprentice 4096 Oct 15 12:34 apprentice
drwxr-xr-x 5 labex      labex      4096 Oct 15 12:00 labex

Nous pouvons également vérifier la liste des utilisateurs dans le système en consultant le fichier /etc/passwd :

grep apprentice /etc/passwd

Cela devrait vous montrer des informations sur l'utilisateur apprentice :

apprentice:x:1001:1001:,,,:/home/apprentice:/bin/bash

Changer d'utilisateur avec la commande su

Maintenant que nous avons créé l'utilisateur apprentice, apprenons à basculer vers cet utilisateur en utilisant la commande su.

Comprendre la commande su

La commande su (substitute user, substituer l'utilisateur) vous permet de basculer vers un autre compte utilisateur au cours d'une session de connexion. Il existe deux façons courantes d'utiliser la commande su :

  1. su username - Bascule vers l'utilisateur spécifié tout en conservant les variables d'environnement actuelles.
  2. su - username - Bascule vers l'utilisateur spécifié et charge également l'environnement de cet utilisateur.

L'utilisation de la deuxième option avec le tiret (-) est généralement préférée car elle permet un basculement complet d'environnement, vous donnant l'impression de vous connecter effectivement en tant que cet utilisateur.

Basculer vers l'utilisateur Apprentice

Basculez vers l'utilisateur apprentice avec un basculement complet d'environnement :

su - apprentice

Vous serez invité à saisir le mot de passe de l'utilisateur apprentice. Entrez le mot de passe que vous avez défini lors de la création de l'utilisateur (password123) :

Password: password123

Après une authentification réussie, votre invite de commande changera pour indiquer que vous êtes maintenant connecté en tant qu'utilisateur apprentice. L'invite peut ressembler à ceci :

apprentice@ubuntu:~$

Vérifier le basculement d'utilisateur

Pour confirmer que vous opérez maintenant en tant qu'utilisateur apprentice, exécutez la commande whoami :

whoami

La sortie devrait être :

apprentice

Vous pouvez également vérifier le répertoire de travail actuel avec la commande pwd :

pwd

La sortie devrait montrer que vous êtes dans le répertoire personnel de l'utilisateur apprentice :

/home/apprentice

Création de fichiers en tant qu'utilisateur 'apprentice'

Maintenant que nous sommes connectés en tant qu'utilisateur apprentice, créons quelques fichiers pour démontrer que les actions effectuées dans cette session sont exécutées avec les autorisations de l'utilisateur apprentice.

Créer un répertoire

Tout d'abord, créons un répertoire de projet dans le répertoire personnel de l'utilisateur apprentice :

mkdir -p ~/project

Le drapeau -p garantit que la commande ne produit pas d'erreur si le répertoire existe déjà. Aucune sortie ne sera affichée si la commande s'exécute avec succès.

Créer un fichier texte

Maintenant, créons un fichier texte dans le répertoire de projet :

echo "This is my first file as the apprentice user." > ~/project/apprentice-journal.txt

Aucune sortie ne sera affichée lors de l'exécution de cette commande, mais elle créera un fichier avec le contenu spécifié.

Voir le contenu du fichier

Vérifions le contenu du fichier que nous venons de créer :

cat ~/project/apprentice-journal.txt

La sortie devrait être :

This is my first file as the apprentice user.

Vérifier la propriété du fichier

Nous pouvons également vérifier que le fichier appartient à l'utilisateur apprentice :

ls -l ~/project/apprentice-journal.txt

La sortie devrait ressembler à ceci :

-rw-rw-r-- 1 apprentice apprentice 44 Oct 15 13:45 /home/apprentice/project/apprentice-journal.txt

Notez que l'utilisateur propriétaire et le groupe propriétaire du fichier sont tous deux définis sur apprentice, confirmant que le fichier a été créé avec les autorisations de l'utilisateur apprentice.

Retour à votre utilisateur d'origine

Après avoir terminé les tâches en tant qu'utilisateur apprentice, il est temps de basculer de nouveau vers votre compte utilisateur d'origine. C'est une pratique courante lorsque vous avez besoin temporairement d'effectuer des actions en tant qu'un autre utilisateur, puis de revenir à votre compte principal.

Quitter la session de l'utilisateur Apprentice

Pour revenir à votre session utilisateur d'origine, tapez simplement exit ou appuyez sur Ctrl+D :

exit

Vous devriez voir l'invite de commande revenir à celle de votre utilisateur d'origine, qui pourrait ressembler à ceci :

labex@ubuntu:~/project$

Vérifier le basculement d'utilisateur

Pour confirmer que vous avez basculé avec succès de nouveau vers votre compte utilisateur d'origine, exécutez la commande whoami :

whoami

La sortie devrait être :

labex

Accéder aux fichiers créés par d'autres utilisateurs

Même si vous avez basculé de nouveau vers votre utilisateur d'origine, vous pouvez toujours accéder aux fichiers créés par l'utilisateur apprentice si vous avez les autorisations appropriées :

cat /home/apprentice/project/apprentice-journal.txt

La sortie devrait afficher le contenu du fichier :

This is my first file as the apprentice user.

Comparer les contextes utilisateur

Maintenant que vous avez expérimenté le basculement entre utilisateurs, démontrons la différence de contexte utilisateur en vérifiant les chemins des répertoires personnels :

echo "My home directory is: $HOME"

La sortie devrait afficher le répertoire personnel de votre utilisateur d'origine :

My home directory is: /home/labex

Si vous deviez basculer de nouveau vers l'utilisateur apprentice et exécuter la même commande, la sortie serait différente :

su - apprentice                    ## (Ne l'exécutez pas maintenant, juste à titre d'illustration)
echo "My home directory is: $HOME" ## Afficherait : My home directory is: /home/apprentice

Cela démontre comment la commande su avec l'option - bascule complètement l'environnement utilisateur, y compris les variables d'environnement telles que $HOME.

Résumé

Dans ce laboratoire, vous avez appris des compétences essentielles en gestion des utilisateurs Linux :

  1. Créer un nouveau compte utilisateur avec la commande adduser
  2. Accorder des privilèges sudo à un utilisateur avec la commande usermod
  3. Basculer entre les utilisateurs en utilisant la commande su
  4. Créer des fichiers en tant qu'un autre utilisateur
  5. Vérifier le contexte utilisateur avec des commandes telles que whoami et en vérifiant les variables d'environnement
  6. Revenir à votre utilisateur d'origine avec la commande exit

Ces compétences sont fondamentales pour l'administration des systèmes Linux et les opérations quotidiennes dans les environnements multi-utilisateurs. Le basculement entre utilisateurs permet aux administrateurs d'effectuer des tâches avec différents niveaux de permissions et de maintenir des pratiques de sécurité appropriées en évitant d'utiliser constamment le compte root.

Comprendre la gestion des utilisateurs dans Linux vous aide à :

  • Maintenir la sécurité du système en utilisant les autorisations d'utilisateur appropriées
  • Résoudre les problèmes liés aux autorisations
  • Tester les applications et les configurations depuis différentes perspectives utilisateur
  • Gérer efficacement les systèmes multi-utilisateurs

Au fur et à mesure de votre progression dans le monde Linux, ces compétences serviront de base pour des tâches d'administration système plus avancées.