Avez-vous déjà voulu lister tous les utilisateurs de votre système Linux ou compter le nombre d’utilisateurs dans le système? Il existe des commandes pour créer un utilisateur, supprimer un utilisateur, lister les utilisateurs connectés, mais quelle est la commande pour lister tous les utilisateurs sous Linux?
Ce didacticiel va vous montrer comment lister les utilisateurs sur les systèmes Linux.
Obtenez une liste de tous les utilisateurs à l’aide du fichier / etc / passwd #
Les informations sur l’utilisateur local sont stockées dans le fichier /etc/passwd
. Chaque ligne de ce fichier représente les informations de connexion d’un utilisateur. Pour ouvrir le fichier, vous pouvez utiliser cat
ou less
:
Chaque ligne du fichier comporte sept champs délimités par des deux-points contenant les informations suivantes:
Si vous souhaitez afficher uniquement le nom d’utilisateur, vous pouvez utiliser les commandes awk
ou cut
pour imprimer uniquement le premier champ contenant le nom d’utilisateur:
Obtenez une liste de tous les utilisateurs à l’aide de la commande getent #
La commande getent
affiche les entrées des bases de données configurées dans le fichier /etc/nsswitch.conf
, y compris le passwd
base de données, qui peut être utilisée pour interroger une liste de tous les utilisateurs.
Pour obtenir une liste de tous les utilisateurs Linux, entrez la commande suivante :
Comme vous pouvez le voir, la sortie est la même que lors de l’affichage du contenu du fichier /etc/passwd
. Si vous utilisez LDAP pour l’authentification des utilisateurs, le getent
affichera tous les utilisateurs Linux du fichier /etc/passwd
et de la base de données LDAP.
Vous pouvez également utiliser awk
ou cut
pour imprimer uniquement le premier champ contenant le nom d’utilisateur:
Vérifier si un utilisateur existe dans le système Linux #
Maintenant que nous savons comment lister tous les utilisateurs, pour vérifier si un utilisateur existe dans notre machine Linux, nous pouvons simplement filtrer la « liste des utilisateurs en redirigeant la liste vers la commande grep
.
Par exemple, pour découvrir si un utilisateur avec le nom jack
existe dans notre système Linux, nous pouvons utiliser la commande suivante:
Si l’utilisateur existe, la commande ci-dessus imprimera le login de l’utilisateur informations. Aucune sortie qui signifie que l’utilisateur n’existe pas.
Nous pouvons également vérifier si un utilisateur existe sans utiliser la commande grep
comme indiqué ci-dessous:
Comme précédemment, si l’utilisateur existe, la commande affichera les informations de connexion de l’utilisateur.
Si vous voulez savoir combien de comptes d’utilisateurs vous avez sur votre système, dirigez la sortie getent passwd
vers la commande wc
:
Comme vous pouvez le voir dans la sortie ci-dessus, mon système Linux a 33 comptes utilisateurs.
Utilisateurs système et normaux #
Il n’y a pas de réelle différence technique entre le système et les utilisateurs réguliers (normaux). Les utilisateurs système sont généralement créés lors de l’installation du système d’exploitation et des nouveaux packages. Dans certains cas, vous pouvez créer un utilisateur système qui sera utilisé par certaines applications.
Les utilisateurs normaux sont les utilisateurs créés par le root ou un autre utilisateur avec des privilèges sudo. Habituellement, un utilisateur normal a un vrai shell de connexion et un répertoire personnel.
Chaque utilisateur a un ID utilisateur numérique appelé UID. S’il n’est pas spécifié lors de la création d’un nouvel utilisateur avec la commande useradd
, l’UID sera automatiquement sélectionné dans le fichier /etc/login.defs
en fonction du UID_MIN
et UID_MIN
valeurs.
Pour vérifier les UID_MIN
et UID_MIN
sur votre système, vous pouvez utiliser la commande suivante:
A partir de la sortie ci-dessus, nous pouvons voir que tous les utilisateurs normaux devraient avoir un UID entre 1000 et 60000. Connaître la valeur minimale et maximale nous permet d’interroger une liste de tous les utilisateurs normaux de notre système.
La commande ci-dessous répertorie tous les utilisateurs normaux de notre système Linux:
Vos valeurs système UID_MIN
et UID_MIN
peuvent être différentes, donc la version plus générique de la commande ci-dessus serait:
Si vous souhaitez imprimer uniquement les noms d’utilisateur, dirigez simplement la sortie vers la commande cut
:
Conclusion #
Dans ce tutoriel, vous avez appris à lister et filtrer les utilisateurs de votre système Linux et quelles sont les principales différences entre le système et Linux normal utilisateurs.
Les mêmes commandes s’appliquent à toutes les distributions Linux, y compris Ubuntu, CentOS, RHEL, Debian et Linux Mint.