GNU/Linux >> Tutoriels Linux >  >> Linux

Liste des utilisateurs sous Linux - Meilleure méthode

Afin de configurer et de gérer le système d'autorisation, l'administrateur a besoin d'une liste de tous les utilisateurs. Il existe des commandes pour créer un utilisateur, supprimer un utilisateur, mais il est essentiel de répertorier tous les utilisateurs du système Linux. De plus, il est tout à fait nécessaire pour des raisons de sécurité de s'assurer que vous avez le bon nombre d'utilisateurs et que vous n'avez pas oublié d'en supprimer.

Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes liées au système Linux.

Dans ce contexte, nous verrons comment répertorier les utilisateurs dans les systèmes Linux.


Comment répertorier tous les utilisateurs à l'aide du fichier /etc/passwd ?

Les informations utilisateur sont stockées dans le fichier /etc/passwd. Il contient une ligne avec le nom d'utilisateur pour chaque compte d'utilisateur sur le système. Vous pouvez utiliser la commande less ou cat pour voir le contenu du fichier :

$ cat /etc/passwd

Dans la sortie, vous verrez que chaque ligne comporte sept champs délimités par des deux-points contenant les informations suivantes :

  • Nom d'utilisateur.
  • Mot de passe crypté où x signifie que le mot de passe est enregistré dans le fichier etc/shadow.
  • UID (ID utilisateur).
  • GID (ID de groupe d'utilisateurs).
  • Nom complet de l'utilisateur.
  • Répertoire $HOME de l'utilisateur.
  • Chemin du shell de connexion.


Si vous souhaitez répertorier uniquement le nom d'utilisateur, vous pouvez utiliser les commandes awk ou cut pour imprimer uniquement le nom d'utilisateur :

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

La sortie sera la suivante :

Output
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
...
...
geoclue
gdm
gnome-initial-setup
sshd


Comment répertorier tous les utilisateurs à l'aide de la commande getent ?

La commande Getent lira les entrées des bases de données. Il listera les utilisateurs de la base de données LDAP et du fichier /etc/passwd.

Pour obtenir une liste de tous les utilisateurs Linux, tapez la commande suivante :

$ getent passwd

La sortie sera identique au contenu du fichier /etc/passwd. Vous pouvez également utiliser awk ou cut pour imprimer uniquement le nom d'utilisateur :

getent passwd | awk -F: '{ print $1}'
getent passwd | cut -d: -f1


Comment vérifier si un utilisateur existe dans le système Linux ?

Nous savons maintenant comment obtenir la liste des utilisateurs. Mais que se passe-t-il si vous voulez vérifier si un utilisateur existe sur le système actuel ou non. Vous pouvez vérifier en utilisant la commande grep et sans utiliser la commande grep.

Par exemple, nous voulons vérifier que l'utilisateur linuxapt existe ou non, alors vous devez émettre la commande comme ci-dessous :

$ getent passwd | grep linuxapt
$ getent passwd linuxapt
Output
linuxapt:x:1001:1001:,,,:/home/linuxapt:/bin/bash

Si l'utilisateur existe dans le système, il imprimera les détails de cet utilisateur, sinon il n'imprimera rien.

Si vous voulez que le nombre total d'utilisateurs existe sur votre système, vous pouvez l'obtenir en :

$ getent passwd | wc -l

Il renverra le nombre d'utilisateurs comme suit :

Output
47


Comment différencier les utilisateurs système et normaux ?

Les utilisateurs système sont créés lorsque vous installez le système d'exploitation ou mettez à jour de nouveaux packages. Il n'y a plus de différence entre les utilisateurs du système et les utilisateurs normaux.

Les utilisateurs normaux sont les utilisateurs créés par la racine ou un autre utilisateur avec des privilèges sudo. Habituellement, un utilisateur normal dispose d'un véritable shell de connexion et d'un répertoire personnel.

Chaque utilisateur a un UID (User ID) qu'il soit utilisateur système ou utilisateur normal. Lorsqu'un utilisateur normal ajoute un utilisateur à l'aide de la commande adduser. L'utilisateur sera ajouté et l'UID sera attribué automatiquement avec la référence UID_MIN et UID_MAX à partir du fichier /etc/login.defs.

Vous pouvez vérifier UID_MIN et UID_MAX avec la commande ci-dessous :

$ grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Il affichera la sortie comme ci-dessous :

Output
UID_MIN             1000
UID_MAX            60000

À partir de la sortie ci-dessus, nous pouvons voir que tous les utilisateurs normaux doivent avoir un identifiant unique entre 1 000 et 60 000.

Nous allons maintenant émettre une commande pour obtenir la liste des utilisateurs normaux dont l'ID unique est compris entre 1 000 et 60 000.

$ getent passwd {1000..60000}
Output
linuxapt:x:1000:1000:LinuxAPT,,,:/home/linuxapt:/bin/bash
demouser:x:1001:1001:,,,:/home/demouser:/bin/bash

Pour imprimer uniquement les noms d'utilisateur, tapez la commande suivante :

$ eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1
Output
linuxapt
demouser


Comment obtenir la liste des groupes sous Linux ?

Vous pouvez lister tous les groupes sous Linux en utilisant la commande suivante :

$ getent group

Vous pouvez obtenir la liste de tous les groupes avec un utilisateur spécifique en utilisant la commande suivante :

$ getent group | grep linuxapt



Linux
  1. Comment créer plusieurs comptes d'utilisateurs sous Linux

  2. Gérer les utilisateurs Linux et les groupes Linux

  3. Comment trouver tous les utilisateurs de Sudo sous Linux

  4. Comment répertorier les utilisateurs dans CentOS 7

  5. 3 façons de lister les utilisateurs sous Linux

Les effets de l'ajout d'utilisateurs à un système Linux

Comment répertorier les utilisateurs et les groupes sous Linux

Comment lister tous les utilisateurs d'un groupe sous Linux

Supprimer des utilisateurs sous Linux avec la commande Userdel

Linux - Ajouter un utilisateur à la liste des Sudoers

Top 10 des meilleurs antivirus pour Linux – Liste des logiciels antivirus Linux !