Comment répertorier les utilisateurs sous Linux

How List Users Linux



Linux est un système d'exploitation multi-utilisateurs. Pour que le système reste fonctionnel et productif, une bonne gestion des utilisateurs est obligatoire. Pour un administrateur système, connaître tous les utilisateurs est nécessaire pour gérer les utilisateurs et les autorisations.

Ce guide montre comment répertorier les utilisateurs sous Linux.







Lister les utilisateurs

Le système stocke la liste des utilisateurs dans des fichiers et des bases de données spécifiques. Nous pouvons y accéder à l'aide de divers outils. Nous pouvons également filtrer la sortie pour collecter des informations spécifiques.



Lister les utilisateurs depuis /etc/passwd
Le fichier /etc/passwd est une base de données en texte brut qui contient des informations sur tous les utilisateurs du système. Le fichier appartient à root avec l'autorisation de fichier 644. Pour une explication détaillée des autorisations de fichier, consultez ce guide sur l'autorisation et la propriété de fichier Linux .



Nous pouvons vérifier le contenu du fichier /etc/passwd pour avoir une liste complète de tous les utilisateurs du système.





$ cat /etc/passwd | trier | moins

Chaque ligne du fichier indique un nom d'utilisateur unique et ses informations associées. Les informations sont séparées en sept champs, délimités par des deux-points. Voici un aperçu rapide des champs.



  • Champ 1 : Le nom d'utilisateur de l'utilisateur.
  • Champ 2 : Il décrit si le mot de passe de l'utilisateur est crypté. Si la valeur est x, cela signifie que le mot de passe est stocké dans le fichier texte /etc/shadow. C'est un fichier protégé par le système qui nécessite le privilège sudo pour y accéder.
  • Champ 3 : L'UID (ID utilisateur) de l'utilisateur.
  • Champ 4 : Le GID (group ID) de l'utilisateur.
  • Champ 5 : Nom d'utilisateur complet (GECOS).
  • Champ 6 : Répertoire personnel dédié à l'utilisateur.
  • Champ 7 : Le shell de connexion de l'utilisateur. Par défaut, cette valeur serait définie sur /bin/bash.

Si les informations supplémentaires ne sont pas nécessaires pour le moment, nous pouvons les omettre dans la sortie.

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

$ cat /etc/passwd | couper -d: -f1 | sorte

Lister les utilisateurs à l'aide de getent
Le terme getent est une forme abrégée pour obtenir des entrées de la base de données administrative. Comme il le suggère, getent peut fonctionner avec diverses bases de données administratives. Consultez toutes les bases de données administratives prises en charge.

$ getent --help

Nous sommes intéressés par la base de données passwd car elle contient des informations sur tous les utilisateurs du système. Vérifiez mot de passe base de données avec getent.

$ getent mot de passe | sorte

La sortie est similaire au contenu de /etc/passwd. Notez que cette commande getent affichera les utilisateurs des bases de données passwd et LDAP si le système est configuré pour utiliser LDAP pour l'authentification des utilisateurs. Pour une utilisation plus approfondie, consultez ce guide sur la commande Linux getent .

Nous pouvons supprimer toutes les informations supplémentaires de la sortie, en conservant uniquement le nom d'utilisateur.

$ getent mot de passe | awk -F: '{ print $1}' | sorte

$ getent mot de passe | couper -d: -f1 | sorte

Lister l'utilisateur d'un groupe
Sous Linux, les groupes sont des unités d'organisation pour organiser et administrer les comptes d'utilisateurs. Il permet de gérer plus facilement les différentes autorisations de système et de fichier.

Pour répertorier tous les utilisateurs d'un groupe d'utilisateurs particulier, nous pouvons utiliser getent.

$ getent groupe

Utilisation de la liste d'utilisateurs

Nous savons maintenant comment lister tous les utilisateurs du système. Voici quelques scénarios pour appliquer ces connaissances.

Vérification de l'existence de l'utilisateur
À partir de la liste des utilisateurs, nous pouvons vérifier si un utilisateur existe dans le système Linux. L'outil getent peut vérifier si l'utilisateur existe dans le système.

$ getent mot de passe

Une autre méthode (bien que moins bonne) consiste à utiliser grep. Nous pouvons simplement filtrer la liste des utilisateurs en utilisant grep. Comme chaque utilisateur a sa propre entrée unique, cela ne générera aucune collision.

$ getent mot de passe | grep

Nombre de comptes utilisateurs
Comme nous l'avons vu jusqu'à présent, toutes les méthodes signalent un utilisateur unique à chaque ligne de la sortie. En comptant le numéro de ligne, nous pouvons vérifier le nombre d'utilisateurs actuellement dans le système.

Pour compter le numéro de ligne, nous utiliserons le wc outil. Dirigez la sortie getent vers la commande wc.

$ getent mot de passe | wc -l

Lister les utilisateurs connectés
Si plusieurs utilisateurs se sont connectés, nous pouvons vérifier la liste des utilisateurs connectés en utilisant le qui commander.

$ qui

Il y a trois colonnes différentes d'informations dans la sortie.

  • Colonne 1 : Le nom d'utilisateur connecté.
  • Colonne 2 : Le type de connexion au système.
  • Colonne 3 : L'heure et la date de début de la session.

Dernières pensées

Dans ce didacticiel, nous avons montré comment répertorier et filtrer les utilisateurs du système. Il présente également certaines des utilisations potentielles de la liste d'utilisateurs. Ces méthodes fonctionnent quelle que soit la distribution Linux que vous utilisez.

La gestion des utilisateurs est une grande partie de l'écosystème Linux. Pour en savoir plus, consultez ce guide détaillé sur comment lister et gérer les utilisateurs sous Linux .

Bon calcul !