Comment afficher la liste des utilisateurs sous Ubuntu | Guide complet pour la connexion, la gestion et la suppression

目次

1. Introduction

Ubuntu est une distribution Linux populaire utilisée par de nombreux utilisateurs, allant de l’usage personnel aux environnements de serveurs d’entreprise. La gestion des comptes utilisateurs est essentielle lors de l’administration d’un système Ubuntu. En particulier, vérifier la liste des utilisateurs enregistrés aide à la gestion de la sécurité et à l’organisation des comptes.

Cet article fournit une explication détaillée sur la façon de vérifier la liste des utilisateurs sous Ubuntu. Il couvre tout, des commandes de base à la récupération d’informations détaillées sur les utilisateurs, ce qui le rend utile tant pour les débutants que pour les utilisateurs avancés.

侍エンジニア塾

2. Comment vérifier la liste des utilisateurs sous Ubuntu

Sous Ubuntu, les informations des utilisateurs peuvent être facilement récupérées à l’aide de fichiers ou de commandes spécifiques. Vous pouvez consulter la liste des utilisateurs en utilisant les méthodes suivantes.

2.1 Affichage de la liste des utilisateurs avec /etc/passwd

Sous Ubuntu, toutes les informations des utilisateurs sont stockées dans le fichier /etc/passwd. En affichant ce fichier, vous pouvez vérifier tous les utilisateurs enregistrés.

Commande d’exemple

cat /etc/passwd

L’exécution de cette commande affichera les informations au format suivant :

root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One,,,:/home/user1:/bin/bash
user2:x:1001:1001:User Two,,,:/home/user2:/bin/bash

Chaque ligne est composée de champs séparés par deux-points (« :« ) et contient les informations suivantes :

  1. Username
  2. Mot de passe (actuellement affiché comme « x » pour des raisons de sécurité)
  3. User ID (UID)
  4. Group ID (GID)
  5. User Information (Comments)
  6. Répertoire personnel
  7. Shell par défaut

Comme ce fichier comprend également les utilisateurs système, vous pouvez utiliser la méthode suivante pour extraire uniquement les utilisateurs de connexion réguliers.

2.2 Récupération des seuls noms d’utilisateur

Pour afficher uniquement la liste des noms d’utilisateur, utilisez la commande suivante :

cut -d: -f1 /etc/passwd

Sinon, vous pouvez utiliser la commande awk :

awk -F':' '{ print $1 }' /etc/passwd

Exemple de sortie :

root
user1
user2

2.3 Recherche d’un utilisateur spécifique

Pour vérifier si un utilisateur spécifique existe, utilisez la commande grep :

grep 'user1' /etc/passwd

L’exécution de cette commande affichera uniquement les informations relatives à user1.

2.4 Récupération des informations de groupe avec /etc/group

Pour vérifier à quels groupes appartient un utilisateur, consultez le fichier /etc/group.

cat /etc/group | cut -d: -f1

Pour vérifier les groupes auxquels appartient un utilisateur spécifique, utilisez la commande suivante :

groups user1

Exemple de sortie :

user1 : user1 sudo

Cela indique que user1 est également membre du groupe sudo.

3. Comment vérifier les utilisateurs actuellement connectés

Dans Ubuntu, il existe plusieurs façons de vérifier quels utilisateurs sont actuellement connectés au système. En utilisant des commandes spécifiques, vous pouvez récupérer des informations sur les sessions actives et les utilisateurs connectés.

3.1 Vérification des utilisateurs connectés avec la commande who

La who commande répertorie tous les utilisateurs actuellement connectés.

Commande d’exemple

who

Exemple de sortie

user1    tty1         2025-02-16 10:05
user2    pts/0        2025-02-16 11:30

Explication des champs

  1. Nom d’utilisateur (L’utilisateur connecté)
  2. Nom du terminal (Console physique tty1 ou session distante pts/0)
  3. Heure de connexion

La who commande est simple et utile pour vérifier rapidement les utilisateurs connectés.

3.2 Vérification détaillée de l’activité des utilisateurs avec la commande w

La w commande fournit des informations plus détaillées que la who.

Commande d’exemple

w

Exemple de sortie

 11:35:25 up 2:15,  2 users,  load average: 0.03, 0.02, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user1    tty1                      10:05    1:30m  0.10s  0.10s -bash
user2    pts/0    192.168.1.10      11:30    0.00s  0.05s  0.02s sshd

Explication des champs

  • Temps de fonctionnement du système (en fonctionnement 2:15)
  • Nombre d’utilisateurs connectés (2 utilisateurs)
  • Moyenne de charge du CPU
  • Username (USER)
  • Terminal connecté (TTY)
  • Source de connexion distante (DE)
  • Heure de connexion (LOGIN@)
  • Temps d’inactivité (IDLE)
  • Utilisation du CPU (JCPU, PCPU)
  • Processus en cours (QUOI)

Comme le champ FROM indique l’adresse IP distante pour les connexions SSH, cette commande est utile pour gérer et surveiller l’accès à distance.

3.3 Vérification rapide des utilisateurs connectés avec la commande users

Si vous avez simplement besoin d’une liste des noms d’utilisateur actuellement connectés, utilisez la commande users.

Commande d’exemple

users

Exemple de sortie

user1 user2

Cette commande est une version simplifiée de who, affichant uniquement les noms d’utilisateur.

3.4 Vérification de l’utilisateur actuel avec la commande whoami

Si vous voulez vérifier quel utilisateur exécute actuellement une session terminal, utilisez la commande whoami.

Commande d’exemple

whoami

Exemple de sortie

user1

Cette commande est utile pour vérifier quel compte utilisateur exécute les commandes.

3.5 Vérification de l’historique des connexions récentes avec la commande last

La last commande vous permet de consulter l’historique des connexions des utilisateurs passés.

Commande d’exemple

last

Exemple de sortie

user1    pts/0        192.168.1.10     Mon Feb 15 10:20   still logged in
user2    tty1                          Mon Feb 15 09:30 - 10:00  (00:30)
root     tty1                          Sun Feb 14 22:15 - 23:45  (01:30)

Explication des champs

  • Username
  • Terminal connecté (tty1, pts/0, etc.)
  • Source de connexion distante (adresse IP)
  • Heure de début de connexion
  • Heure de déconnexion (ou « toujours connecté » pour les sessions actives)
  • Durée totale de connexion (ex., 00:30 = 30 minutes)

Cette commande est utile pour surveiller les connexions passées et détecter les accès non autorisés.

4. Comment vérifier les informations détaillées d’un utilisateur

Dans Ubuntu, plusieurs commandes sont disponibles pour récupérer des informations détaillées sur les utilisateurs enregistrés. En vérifiant l’UID d’un utilisateur, ses groupes, son shell de connexion et d’autres attributs, les administrateurs peuvent gérer les permissions et les paramètres de sécurité de manière efficace. Cette section explique comment obtenir des informations détaillées sur les utilisateurs en utilisant des commandes telles que id, finger et chage.

4.1 Vérification de l’UID, du GID et des groupes d’un utilisateur avec la commande id

La commande id fournit des informations sur le UID (identifiant d’utilisateur), le GID (identifiant de groupe) et les appartenances aux groupes d’un utilisateur.

Commande d’exemple
id user1
Sortie d’exemple
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(docker)
Explication des champs
  • uid=1001(user1)User ID (Unique identifier for the user)
  • gid=1001(user1)ID de groupe (Groupe principal de l’utilisateur)
  • groups=1001(user1),27(sudo),1002(docker)Liste des groupes auxquels l’utilisateur appartient

Ces informations sont utiles pour vérifier à quels groupes un utilisateur est affecté.

Vérification des informations pour l’utilisateur actuellement connecté
id

L’exécution de cette commande affichera les informations d’ID de l’utilisateur actuellement connecté.

4.2 Vérification des groupes d’un utilisateur avec la commande groups

Pour vérifier à quels groupes appartient un utilisateur spécifique, utilisez la commande groups.

Commande d’exemple
groups user1
Sortie d’exemple
user1 : user1 sudo docker

Bien que la commande id fournisse également des informations sur les groupes, la commande groups est plus pratique lorsque vous avez seulement besoin de vérifier les noms de groupes.

Vérification des groupes pour l’utilisateur actuellement connecté
groups

Cette commande affiche les groupes auxquels l’utilisateur actuel appartient.

4.3 Récupération d’informations détaillées sur l’utilisateur avec la commande finger

La commande finger fournit des détails supplémentaires tels que le nom complet, les informations de connexion et le type de shell.

Installation de finger

La commande finger n’est pas installée par défaut. Installezla avec la commande suivante :

sudo apt install finger
Commande d’exemple
finger user1
Sortie d’exemple
Login: user1                    Name: User One
Directory: /home/user1           Shell: /bin/bash
Last login: Mon Feb 16 10:20 (UTC) on pts/0
Explication des champs
  • Login → Username
  • Nom → Nom complet (peut être vide)
  • Répertoire → Répertoire personnel de l’utilisateur
  • Shell → Le shell que l’utilisateur utilise
  • Dernière connexion → Le dernier moment de connexion enregistré

Les administrateurs système peuvent utiliser finger pour vérifier rapidement quels utilisateurs sont connectés et leur activité de dernière connexion.

4.4 Vérification de l’expiration du mot de passe avec la commande chage

Les administrateurs peuvent utiliser la commande chage pour vérifier les détails d’expiration du mot de passe et la date du dernier changement de mot de passe d’un utilisateur.

Commande d’exemple
sudo chage -l user1
Sortie d’exemple
Last password change            : Jan 15, 2025
Password expires                : Mar 15, 2025
Password inactive               : never
Account expires                 : never
Minimum number of days between password change : 7
Maximum number of days between password change : 60
Number of days of warning before password expires : 5
Explication des champs
  • Dernier changement de mot de passe → La date de la dernière mise à jour du mot de passe
  • Le mot de passe expire → La date d’expiration du mot de passe
  • Mot de passe inactif → La période avant qu’un mot de passe ne devienne inactif
  • Expiration du compte → La date à laquelle le compte sera désactivé
  • Nombre minimum de jours entre les changements de mot de passe → L’intervalle minimum requis entre les changements de mot de passe
  • Nombre maximal de jours entre les changements de mot de passe → La période maximale pendant laquelle un mot de passe reste valide
  • Nombre de jours d’avertissement avant l’expiration du mot de passe → Le nombre de jours avant l’expiration où les utilisateurs reçoivent un avertissement

Les administrateurs peuvent utiliser ces informations pour appliquer une politique de mot de passe et renforcer la sécurité.

5. Gestion des utilisateurs sous Ubuntu (Ajout, suppression et modification)

Une gestion adéquate des utilisateurs est cruciale pour les administrateurs système sous Ubuntu. Ajouter de nouveaux utilisateurs, supprimer les anciens et modifier les informations des utilisateurs existants contribue à maintenir la sécurité et l’efficacité. Cette section explique comment gérer les utilisateurs en utilisant des commandes telles que adduser, deluser et usermod.

5.1 Ajouter un utilisateur

Pour créer un nouvel utilisateur sous Ubuntu, vous pouvez utiliser soit la commande adduser, soit la commande useradd.

5.1.1 Utilisation de la commande adduser (Recommandée)

La commande adduser est un outil interactif qui simplifie le processus de création d’utilisateur.

Commande d’exemple
sudo adduser newuser
Processus interactif
Adding user `newuser' ...
Adding new group `newuser' (1002) ...
Adding new user `newuser' (1002) with group `newuser' ...
Creating home directory `/home/newuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
Changing the user information for newuser
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] 
Ce qui est créé
  • Compte utilisateur
  • Groupe dédié
  • Répertoire personnel (/home/newuser)
  • Login password
  • Informations de base de l’utilisateur

Cette méthode est la plus courante et conviviale pour les débutants.

5.1.2 Utilisation de la commande useradd (Pour les utilisateurs avancés)

La commande useradd diffère de adduser en ce qu’il s’agit d’un outil de bas niveau, conçu pour le scripting et ne crée pas automatiquement de répertoire personnel.

Commande d’exemple
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
Descriptions des options
  • -m → Crée un répertoire personnel
  • -s /bin/bash → Définit le shell par défaut sur /bin/bash

Lorsque vous utilisez useradd, vous devez définir manuellement un mot de passe pour le nouvel utilisateur.

5.2 Supprimer un utilisateur

Pour supprimer un compte utilisateur qui n’est plus nécessaire, utilisez soit la commande deluser, soit la commande userdel.

5.2.1 Utilisation de la commande deluser (Recommandée)

La commande deluser est le pendant de adduser et sert à supprimer des utilisateurs.

Commande d’exemple
sudo deluser newuser
Suppression également du répertoire personnel
sudo deluser --remove-home newuser

Cette commande supprimera à la fois le compte utilisateur et le répertoire personnel de l’utilisateur (/home/newuser).

5.2.2 Utilisation de la commande userdel (Pour les utilisateurs avancés)

La commande userdel offre un contrôle plus direct sur la suppression des utilisateurs.

Commande d’exemple
sudo userdel newuser
Suppression du répertoire personnel
sudo userdel -r newuser

Contrairement à deluser, userdel peut être risqué s’il est mal utilisé, soyez donc prudent.

5.3 Modifier les informations d’un utilisateur

Pour modifier les détails d’un utilisateur existant, utilisez la commande usermod.

5.3.1 Changer un nom d’utilisateur

Commande d’exemple
sudo usermod -l newname oldname

Cela change oldname en newname.

5.3.2 Modifier le répertoire personnel

Pour modifier le répertoire personnel d’un utilisateur, utilisez l’option -d.

Commande d’exemple
sudo usermod -d /new/home/path user1
Déplacement du répertoire personnel actuel vers un nouvel emplacement
sudo usermod -d /home/newuser -m user1

5.3.3 Modifier l’appartenance à un groupe d’un utilisateur

Pour ajouter un utilisateur à un groupe différent, utilisez usermod -aG.

Ajouter un utilisateur au groupe sudo
sudo usermod -aG sudo user1
Vérifier l’appartenance actuelle aux groupes
groups user1

5.3.4 Modifier le mot de passe d’un utilisateur

Les administrateurs peuvent modifier le mot de passe d’un utilisateur à l’aide de la commande passwd.

Commande d’exemple
sudo passwd user1
Exemple de sortie
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully

Cette commande met à jour le mot de passe de user1, l’obligeant à utiliser le nouveau mot de passe lors de sa prochaine connexion.

6. Cas d’utilisation pratiques pour la gestion des utilisateurs

Gérer les utilisateurs sous Ubuntu ne consiste pas seulement à les lister, les ajouter ou les supprimer. Comprendre comment gérer les utilisateurs efficacement en fonction de scénarios spécifiques est crucial. Cette section fournit des cas d’utilisation réels et des exemples de commandes pour vous aider à gérer les utilisateurs efficacement.

6.1 Trouver des utilisateurs selon des critères spécifiques

6.1.1 Lister les administrateurs (utilisateurs avec les privilèges sudo)

Les administrateurs système ont souvent besoin de vérifier quels utilisateurs ont les privilèges sudo. Vous pouvez récupérer cette information en utilisant la commande getent pour rechercher le fichier /etc/group.

Exemple de commande
getent group sudo
Exemple de sortie
sudo:x:27:user1,user2

Explication de la sortie :

  • sudo:x:27: → Informations sur le groupe sudo
  • user1,user2 → Utilisateurs qui appartiennent au groupe sudo

Cette méthode vous permet de vérifier rapidement quels utilisateurs ont des privilèges administratifs.

6.1.2 Lister uniquement les utilisateurs capables de se connecter

Le fichier /etc/passwd contient à la fois des utilisateurs système et réguliers. Pour trouver les utilisateurs qui peuvent réellement se connecter, filtrez les utilisateurs avec un shell valide.

Exemple de commande
grep '/bin/bash' /etc/passwd
Exemple de sortie
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash

Avantages de cette méthode :

  • Seuls les utilisateurs avec /bin/bash ou /bin/sh sont affichés
  • Les comptes système avec nologin sont exclus

6.1.3 Lister les utilisateurs système (comptes sans connexion)

Les utilisateurs système ont généralement /usr/sbin/nologin ou /bin/false définis comme shell par défaut. Vous pouvez les filtrer en utilisant la commande suivante.

Exemple de commande
grep -E '/usr/sbin/nologin|/bin/false' /etc/passwd
Exemple de sortie
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/bin/false

Vérifier les comptes système garantit qu’ils ne sont pas supprimés par erreur.

6.2 Suppression périodique des utilisateurs inactifs

6.2.1 Lister les utilisateurs qui ne se sont pas connectés récemment

Pour supprimer les utilisateurs inactifs, vérifiez l’historique des dernières connexions à l’aide de la commande lastlog.

Exemple de commande
lastlog
Exemple de sortie
Username         Port     From             Latest
root            tty1                      Mon Feb 12 14:02:08 +0000 2025
user1           pts/0    192.168.1.10      Mon Jan 15 10:30:12 +0000 2025
user2           pts/1    192.168.1.20      Never logged in
  • Never logged in → L’utilisateur ne s’est jamais connecté

En fonction de ces informations, vous pouvez décider de supprimer ou non les comptes inactifs.

Commande pour supprimer un compte inutilisé
sudo deluser user2 --remove-home

6.2.2 Vérifier la date du dernier changement de mot de passe

La commande chage vous permet de vérifier quand un utilisateur a changé son mot de passe pour la dernière fois.

Exemple de commande
sudo chage -l user1
Exemple de sortie
Last password change            : Jan 15, 2025
Password expires                : Mar 15, 2025
Password inactive               : never

Si un mot de passe n’a pas été changé depuis longtemps, vous pouvez vouloir forcer une réinitialisation.

Forcer un changement de mot de passe
sudo passwd --expire user1

Cela oblige l’utilisateur à définir un nouveau mot de passe lors de la prochaine connexion.

6.3 Vérifier les utilisateurs connectés via SSH

Lors de la gestion d’un serveur distant, il est important de suivre les utilisateurs connectés via SSH.

Exemple de commande
who | grep pts
Exemple de sortie
user1    pts/0        192.168.1.10     11:30

Cette commande aide à identifier les utilisateurs distants et leurs adresses IP.

6.4 Exporter toutes les informations utilisateur vers un fichier CSV

Si vous devez créer un rapport listant tous les utilisateurs, vous pouvez exporter les données à l’aide de la commande getent.

Exemple de commande
getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv
Exemple de sortie CSV
root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
  • Les noms d’utilisateur, les UID, les GID et les répertoires personnels sont exportés au format CSV
  • Les données peuvent être analysées à l’aide d’Excel ou de Google Sheets

7. FAQ (Foire aux questions)

Cette section répond aux questions courantes liées à la gestion des utilisateurs sous Ubuntu. Elle fournit des conseils de dépannage et des meilleures pratiques pour une administration efficace des utilisateurs.

7.1 Est-il sûr de modifier directement /etc/passwd ?

Réponse :

La modification directe est non recommandée. Le fichier /etc/passwd est un fichier système critique, et des modifications incorrectes peuvent empêcher les utilisateurs de se connecter.

Méthodes recommandées :

Utilisez des commandes comme usermod ou vipw pour une modification sécurisée.

Commande de modification sécurisée :
sudo vipw

Cette commande verrouille le fichier pour empêcher les modifications simultanées, garantissant ainsi des modifications sécurisées.

7.2 Quelle est la différence entre les commandes who et users ?

Réponse :

CommandDescription
whoAffiche les détails des utilisateurs connectés, y compris l’heure de connexion et le terminal.
usersAffiche uniquement les noms d’utilisateur des utilisateurs actuellement connectés dans une liste simple.

Exemple d’utilisation :

who

Exemple de sortie :

user1    tty1         2025-02-16 10:05
user2    pts/0        2025-02-16 11:30
users

Exemple de sortie :

user1 user2

La commande who fournit des informations plus détaillées.

7.3 Comment vérifier l’historique de connexion d’un utilisateur spécifique ?

Réponse :

Utilisez la commande last pour vérifier l’historique des connexions.

Commande d’exemple :
last user1
Exemple de sortie :
user1    pts/0        192.168.1.10     Mon Feb 15 10:20   still logged in
user1    tty1                          Mon Feb 10 09:30 - 10:00  (00:30)

Cela permet de suivre les activités de connexion, y compris les connexions à distance.

7.4 Comment changer le mot de passe d’un utilisateur ?

Réponse :

Les administrateurs peuvent changer le mot de passe d’un utilisateur en utilisant la commande passwd.

Commande d’exemple :
sudo passwd user1
Exemple de sortie :
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully

L’utilisateur doit utiliser le nouveau mot de passe lors de la prochaine connexion.

7.5 Puis-je désactiver temporairement un compte utilisateur ?

Réponse :

Oui, vous pouvez verrouiller temporairement un compte en utilisant usermod.

Verrouillage d’un compte :
sudo usermod -L user1

L’utilisateur ne pourra pas se connecter tant que le compte n’est pas déverrouillé.

Déverrouillage d’un compte :
sudo usermod -U user1

7.6 Comment ajouter un utilisateur au groupe sudo ?

Réponse :

Utilisez la commande usermod pour accorder les privilèges sudo.

Commande d’exemple :
sudo usermod -aG sudo user1

Après avoir exécuté cette commande, user1 peut exécuter des commandes avec sudo.

7.7 Comment déplacer le répertoire personnel d’un utilisateur ?

Réponse :

Utilisez usermod -d pour définir un nouveau répertoire personnel.

Commande d’exemple :
sudo usermod -d /new/home/path -m user1

7.8 Comment supprimer complètement un utilisateur et ses données ?

Réponse :

Utilisez deluser ou userdel pour supprimer un utilisateur.

Commande d’exemple :
sudo deluser --remove-home user1

Alternative :

sudo userdel -r user1

Cela supprimera à la fois le compte utilisateur et le répertoire personnel.

7.9 Comment vérifier l’activité des utilisateurs actifs ?

Réponse :

Utilisez la commande w pour surveiller les utilisateurs connectés.

Commande d’exemple :
w
Exemple de sortie :
 11:35:25 up 2:15,  2 users,  load average: 0.03, 0.02, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user1    tty1                      10:05    1:30m  0.10s  0.10s -bash
user2    pts/0    192.168.1.10      11:30    0.00s  0.05s  0.02s sshd

Cette commande aide à suivre l’activité des utilisateurs et la charge du système.

8. Conclusion

La gestion des utilisateurs sous Ubuntu est essentielle tant pour les environnements personnels que professionnels. En utilisant les commandes et techniques présentées dans ce guide, vous pouvez gérer efficacement les comptes utilisateurs, renforcer la sécurité et optimiser l’administration du système.

Surveiller régulièrement l’activité des utilisateurs, gérer les permissions et maintenir les paramètres de sécurité à jour garantira un système bien entretenu et sécurisé.