Modification d'utilisateurs Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

La gestion des utilisateurs est un aspect fondamental de l'administration des systèmes Linux. Que vous configuriez un ordinateur personnel, gériez un serveur ou travailliez dans un environnement multi-utilisateurs, il est essentiel de savoir créer, modifier et gérer les comptes utilisateurs.

Dans ce labo (LabEx), vous apprendrez à utiliser la commande usermod pour modifier les attributs des utilisateurs, tels que le nom d'utilisateur, le répertoire personnel et l'appartenance aux groupes. Vous acquerrez une expérience pratique avec les commandes clés utilisées pour l'administration des utilisateurs sous Linux, vous donnant ainsi les compétences nécessaires pour gérer efficacement les comptes utilisateurs dans n'importe quel environnement Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/useradd("User Adding") linux/UserandGroupManagementGroup -.-> linux/usermod("User Modifying") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") linux/UserandGroupManagementGroup -.-> linux/id("User/Group ID Displaying") subgraph Lab Skills linux/cat -.-> lab-271427{{"Modification d'utilisateurs Linux"}} linux/useradd -.-> lab-271427{{"Modification d'utilisateurs Linux"}} linux/usermod -.-> lab-271427{{"Modification d'utilisateurs Linux"}} linux/groups -.-> lab-271427{{"Modification d'utilisateurs Linux"}} linux/id -.-> lab-271427{{"Modification d'utilisateurs Linux"}} end

Création et renommage d'un utilisateur

Dans cette étape, vous allez créer un nouvel utilisateur et apprendre à le renommer. C'est une tâche courante lorsque les utilisateurs changent de rôle ou lorsque vous devez standardiser les noms d'utilisateur dans votre système.

Tout d'abord, ouvrez votre terminal. Vous devriez déjà être dans le répertoire ~/project. Commençons par créer un nouvel utilisateur appelé temporaryuser :

sudo useradd temporaryuser

Cette commande crée un nouveau compte utilisateur dans le système. Par défaut, useradd ne crée pas de répertoire personnel ni ne définit de mot de passe.

Maintenant, vérifions si l'utilisateur a été créé avec succès :

grep temporaryuser /etc/passwd

Vous devriez voir une entrée pour temporaryuser dans la sortie, confirmant que l'utilisateur a été créé.

Ensuite, nous allons renommer cet utilisateur de temporaryuser en permanentuser en utilisant la commande usermod :

sudo usermod -l permanentuser temporaryuser

L'option -l spécifie que nous voulons changer le nom de connexion. Après avoir exécuté cette commande, l'utilisateur précédemment connu sous le nom de temporaryuser sera désormais connu sous le nom de permanentuser.

Vérifions que le nom d'utilisateur a été changé :

grep permanentuser /etc/passwd

Vous devriez voir l'entrée de l'utilisateur avec le nouveau nom permanentuser.

Maintenant, créons et assignons un répertoire personnel à cet utilisateur :

sudo usermod -d /home/permanentuser -m permanentuser

Dans cette commande :

  • -d spécifie le chemin du nouveau répertoire personnel
  • -m déplace tout le contenu existant du vieux répertoire personnel vers le nouveau (dans ce cas, il créera le répertoire personnel car notre utilisateur n'en avait pas)

Vérifions que le répertoire personnel a été créé :

ls -ld /home/permanentuser

Vous devriez voir le nouveau répertoire personnel créé pour permanentuser.

Ajout d'un utilisateur à des groupes

Sous Linux, les groupes sont utilisés pour organiser les utilisateurs et gérer les autorisations. Ajouter un utilisateur à des groupes spécifiques est un moyen essentiel de lui accorder l'accès à certaines ressources ou fonctionnalités.

Tout d'abord, vérifions à quels groupes notre utilisateur appartient actuellement :

groups permanentuser

Par défaut, lorsque vous créez un utilisateur avec useradd, l'utilisateur est assigné à un groupe primaire portant le même nom que le nom d'utilisateur.

Maintenant, vérifions si le groupe sudo existe sur votre système :

grep sudo /etc/group

Vous devriez voir une entrée pour le groupe sudo. Ce groupe spécial permet à ses membres d'exécuter des commandes avec des privilèges de superutilisateur en utilisant la commande sudo.

Ajoutons notre utilisateur au groupe sudo :

sudo usermod -aG sudo permanentuser

Dans cette commande :

  • -a signifie "ajouter", ce qui garantit que nous ajoutons l'utilisateur au groupe sans le supprimer des autres groupes
  • -G spécifie le ou les groupes auxquels l'utilisateur doit être ajouté
  • sudo est le nom du groupe
  • permanentuser est l'utilisateur que nous modifions

Vérifions que l'utilisateur a été ajouté au groupe sudo :

groups permanentuser

La sortie devrait maintenant inclure sudo dans la liste des groupes.

Vous pouvez également vérifier l'appartenance au groupe en consultant le fichier /etc/group :

grep sudo /etc/group

La sortie devrait inclure permanentuser dans la liste des membres du groupe sudo.

Changement du shell d'un utilisateur

Chaque utilisateur sous Linux a un shell par défaut qui détermine l'interface en ligne de commande qu'il utilise lors de la connexion. Dans cette étape, vous allez apprendre à changer le shell de connexion d'un utilisateur.

Tout d'abord, vérifions le shell actuel assigné à notre utilisateur :

grep permanentuser /etc/passwd

Regardez le dernier champ de la sortie. Il devrait afficher le shell actuel, qui est généralement /bin/sh pour les utilisateurs créés avec useradd sans options supplémentaires.

Maintenant, changeons le shell pour Bash, qui est un shell plus riche en fonctionnalités :

sudo usermod -s /bin/bash permanentuser

L'option -s spécifie le nouveau shell de connexion pour l'utilisateur.

Vérifions que le shell a été changé :

grep permanentuser /etc/passwd

La fin de la ligne devrait maintenant afficher /bin/bash comme shell pour permanentuser.

Différents shells offrent des fonctionnalités et des expériences utilisateur différentes. Bash est l'un des shells les plus populaires car il propose des fonctionnalités avancées telles que :

  • La complétion de commandes
  • La navigation dans l'historique des commandes
  • Des invites personnalisables
  • Des capacités de scripting avec des fonctions et des structures de contrôle

D'autres shells courants sous Linux incluent :

  • /bin/sh - Le Bourne Shell, un shell de base
  • /bin/zsh - Z Shell, avec des fonctionnalités supplémentaires par rapport à Bash
  • /bin/dash - Debian Almquist Shell, un shell léger

Les utilisateurs peuvent basculer entre les shells installés pendant leur session en utilisant la commande chsh ou avoir leur shell par défaut changé par un administrateur en utilisant usermod, comme nous venons de le faire.

Définition de la date d'expiration d'un compte et visualisation des informations utilisateur

Les administrateurs système ont souvent besoin de créer des comptes temporaires ou de s'assurer que les comptes sont périodiquement vérifiés. Dans cette étape, vous allez apprendre à définir une date d'expiration pour un compte et à visualiser des informations détaillées sur l'utilisateur.

Définition de la date d'expiration d'un compte

Définissons une date d'expiration pour le compte permanentuser. Cela est utile pour les utilisateurs temporaires ou les prestataires qui ne devraient avoir accès qu'une période spécifique.

sudo usermod -e 2023-12-31 permanentuser

L'option -e définit la date d'expiration au format AAAA-MM-JJ. Après cette date, le compte sera automatiquement désactivé.

Pour vérifier que la date d'expiration a été définie :

sudo chage -l permanentuser

La commande chage -l affiche les informations de gestion du compte. La sortie inclura une ligne "Account expires" indiquant la date que vous venez de définir.

Visualisation des informations détaillées sur l'utilisateur

Il existe plusieurs commandes pour visualiser les informations sur les utilisateurs sous Linux. Explorons-les :

  1. Vérifiez l'identifiant utilisateur, l'identifiant de groupe et les appartenances aux groupes :
id permanentuser

Cette commande affiche l'identifiant utilisateur numérique (UID), l'identifiant de groupe primaire (GID) et tous les groupes auxquels l'utilisateur appartient.

  1. Affichez l'état du mot de passe et les informations de gestion :
sudo passwd -S permanentuser

Cette commande affiche l'état du mot de passe (verrouillé, expiré, etc.) et la date de sa dernière modification.

  1. Affichez tous les utilisateurs du système :
cat /etc/passwd | grep -v nologin | grep -v false

Cette commande filtre le fichier de mots de passe pour afficher uniquement les utilisateurs pouvant se connecter (en excluant les utilisateurs système).

  1. Affichez tous les groupes du système :
cat /etc/group

Cela affiche tous les groupes définis sur le système, y compris les groupes système et les groupes utilisateurs.

Comprendre comment récupérer efficacement les informations sur les utilisateurs est crucial pour l'administration système et la résolution des problèmes d'accès utilisateur.

Résumé

Dans ce laboratoire, vous avez appris les tâches essentielles de gestion des utilisateurs sous Linux :

  1. Création d'un utilisateur et changement de son nom avec la commande usermod -l
  2. Configuration d'un répertoire personnel pour un utilisateur avec usermod -d -m
  3. Ajout d'un utilisateur à des groupes supplémentaires avec usermod -aG
  4. Changement du shell de connexion d'un utilisateur avec usermod -s
  5. Définition de dates d'expiration de compte avec usermod -e
  6. Visualisation des informations sur les utilisateurs avec des commandes telles que id, chage et l'examen de fichiers système

Ces compétences en gestion des utilisateurs sont fondamentales pour tout administrateur Linux. La commande usermod offre un ensemble polyvalent d'outils pour modifier les attributs des utilisateurs sans avoir à supprimer et recréer les comptes utilisateurs.

En maîtrisant ces commandes, vous pouvez gérer efficacement les comptes utilisateurs dans n'importe quel environnement Linux, que ce soit une station de travail mono - utilisateur, un serveur multi - utilisateur ou un environnement d'entreprise avec de nombreux utilisateurs nécessitant différents niveaux d'accès.