Présentation
SE Linux est unique en raison de sa caractéristique multi-utilisateur permettant à plusieurs utilisateurs sur un système, en même temps. Cependant, le suivi de tous les utilisateurs est essentiel.
Dans cet article, gagnez plusieurs commandes pour répertorier tous les utilisateurs Linux ainsi que leurs informations de connexion. Ces commandes fonctionnent sur CentOS, Ubuntu, Arch Linux, ainsi que d'autres distributions Linux.
Prérequis
- Une distribution Linux installée et en cours d'exécution
- Un utilisateur avec des privilèges sudo
- Accès à un terminal/ligne de commande
Répertorier tous les utilisateurs Linux, 2 options
Répertorier tous les utilisateurs sous Linux avec le fichier /etc/passwd
Les détails des utilisateurs locaux peuvent être trouvés dans le /etc/passwd dossier. Chaque ligne contenue dans le fichier contient les informations d'un utilisateur.
Il y a deux options.
Ouvrez le etc/passwd fichier en tapant la commande :
cat etc/passwd
Alternativement, vous pouvez utiliser le less
commande :
less etc/passwd
Répertorier tous les utilisateurs Linux avec le getent Commande
Entrées de base de données configurées dans /etc/nsswitch.conf inclut la base de données passwd avec tous les noms d'utilisateur et les informations de connexion.
Pour extraire ces données, utilisez la commande :
getent passwd
Les deux Option 1 et Option 2 affichera tous les utilisateurs et leurs informations de connexion.
Chaque ligne représente un utilisateur et a sept (7) champs.
Les champs sont séparés par : (deux-points) et chaque ligne comprend les informations suivantes :
1. Nom d'utilisateur
2. Le mot de passe crypté (représenté par x , situé dans /etc/shadow dossier)
3. Numéro d'identification de l'utilisateur (appelé UID )
4. ID de groupe d'utilisateurs (connu sous le nom de GID )
5. Nom complet de l'utilisateur
6. Répertoire d'accueil de l'utilisateur
7. Le shell de connexion (par défaut défini sur bin/bash )
Comment répertorier uniquement les noms d'utilisateur Linux
Au cas où vous n'auriez pas besoin de toutes les informations relatives à chaque utilisateur, vous pouvez lister uniquement les noms d'utilisateur sur le système. Il existe deux façons de voir uniquement le premier champ (le nom d'utilisateur) de chaque utilisateur.
Option 1 :Utilisation de la commande awk ou cut.
Pour lister uniquement les noms d'utilisateur, vous pouvez utiliser l'une des deux (2) commandes suivantes :
awk –F: ‘{ print $1}’ /etc/passwd
cut –d: –f1 /etc/passwd
Option 2 :Utilisation du getent
commande avec awk
et cut
.
Pour lire et afficher le nom d'utilisateur sans aucune information supplémentaire à l'aide du getent
commande, exécutez la commande suivante :
getent passwd | awk -F: ‘{ print $1}’
Sinon, utilisez la commande :
getent passwd | –d: –f1
Comment rechercher des utilisateurs Linux existants
Le getent
La commande permet également de vérifier si un utilisateur est présent sur le système.
Chacune des deux commandes suivantes vous fournira ces informations :
getent passwd | grep username
getent passwd username
Si l'utilisateur existe, il affichera les informations de connexion. D'autre part, s'il n'y a pas un tel utilisateur, il n'y aura pas de sortie.
Par exemple, dans l'image ci-dessous, la requête indique si un utilisateur nommé example existe. La sortie prouve qu'un tel utilisateur existe.
Utilisateur système vs utilisateur normal
Un utilisateur système est celui qui crée des utilisateurs normaux. Par conséquent, dans ce cas, l'utilisateur système est la racine. Cet utilisateur est créé lors de la première installation du système d'exploitation Linux. De plus, vous pouvez créer des utilisateurs système pour des applications particulières.
D'autre part, les utilisateurs normaux sont tous les utilisateurs que la racine (ou un utilisateur avec des privilèges sudo) crée. Chaque utilisateur normal et système dispose d'un véritable shell de connexion, d'un répertoire personnel, ainsi que d'un numéro d'identification d'utilisateur (UID). Le numéro d'identification de l'utilisateur est attribué automatiquement dans la plage comprise entre les valeurs minimale et maximale.
Comment vérifier UID_MIN et UID_MAX
Si vous souhaitez vérifier quelle est la plage d'UID pour les utilisateurs normaux, utilisez grep avec la commande suivante :
grep –E”^UID_MIN|^UID_MAX” /etc/login.defs
La sortie montre que tous les utilisateurs normaux ont un UID compris entre 1 000 (UID_MIN) et 6 000 (UID_MAX).
Comment répertorier les utilisateurs normaux
Avec ces chiffres à l'esprit, vous demandez une liste de tous les utilisateurs de cette plage avec la commande :
getent passwd {1000..6000}
La requête répertorie tous les utilisateurs normaux, comme le montre l'image ci-dessous. Dans cet exemple, il y a deux utilisateurs normaux dans la plage spécifiée.