GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lister tous les utilisateurs sous Linux

Ce bref guide explique comment répertorier tous les utilisateurs des systèmes d'exploitation Linux. Avant d'entrer dans le sujet, nous verrons ce qu'est le fichier /etc/passwd. Parce que nous dépendons de ce fichier tout au long de ce guide.

Une brève note sur le fichier /etc/passwd

Sous Linux (et Unix en général), les informations de base sur chaque compte utilisateur sont stockées dans "/etc/passwd" dossier. Ce n'est rien d'autre qu'un fichier texte contenant les attributs de tous les comptes d'utilisateurs présents dans un système Linux.

Par défaut, ce fichier est lisible par tous les utilisateurs à l'aide de n'importe quel programme texte ou graphique, tel que Vi, Nano, Gedit etc ou avec des commandes comme "cat ".

Si vous ouvrez ce fichier..

$ cat /etc/passwd

...vous verrez plusieurs entrées comme ci-dessous :

root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/ bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games :/usr/games:/usr/sbin/nologin[...]

Chaque ligne du fichier /etc/passwd représente un seul utilisateur. L'utilisateur root sera listé en haut. Chaque ligne contient sept attributs ou champs séparés par deux-points sans aucun espace entre chaque champ. Le nom des sept champs est donné ci-dessous :

  1. nom,
  2. mot de passe,
  3. ID utilisateur,
  4. identifiant de groupe,
  5. gécos,
  6. répertoire d'accueil,
  7. coque.

1. Nom

Le "nom" champ est le nom de connexion de l'utilisateur que vous utilisez pour vous connecter à votre machine Linux.

2. Mot de passe

Le "mot de passe" le champ contient simplement une lettre X. Signification - le mot de passe est crypté et stocké dans un fichier séparé appelé "/etc/shadow" pour des raisons de sécurité. Le /etc/shadow ne peut pas être lu par les utilisateurs normaux. Ici, le X indique que l'utilisateur a un mot de passe. Si ce champ est vide, l'utilisateur n'a pas de mot de passe, il peut donc se connecter sans mot de passe.

3. ID utilisateur

L'"ID utilisateur " (ou UID en abrégé) indique le numéro d'identification numérique unique de l'utilisateur. L'UID du compte root est 0 (zéro). Les nombres de 1 à 99 sont réservés aux comptes système. Et les nombres de 100 à 999 sont réservés aux utilisateurs normaux et groupes.

4. ID de groupe

L'"ID de groupe" (ou GID en abrégé) indique l'identifiant de groupe principal auquel appartient l'utilisateur. Le GID est généralement le même que l'UID.

5. Gecko

Les "geckos" champ contient les informations générales d'un utilisateur. Par exemple, Il peut contenir le vrai nom de l'utilisateur. Ce fichier peut être soit vide, séparé par deux points, soit contenir plusieurs entrées séparées par des virgules.

6. Répertoire d'accueil

Le "répertoire d'accueil" indique le chemin complet du répertoire personnel de l'utilisateur, par exemple /home/sk . Il s'agit du répertoire dans lequel l'utilisateur se trouve en premier lorsqu'il se connecte à un système. Le répertoire personnel contient généralement des programmes et des fichiers de configuration appartenant à l'utilisateur.

7. Coque

Le dernier fichier est "shell" . Il indique le chemin complet du shell par défaut pour cet utilisateur.

Prenons maintenant la ligne suivante comme exemple :

root:x:0:0:root:/root:/bin/bash

Dans la ligne ci-dessus,

  • racine - est le nom d'utilisateur,
  • x - indique que l'utilisateur root a un mot de passe,
  • 0 - Le premier 0 (zéro) indique l'UID,
  • 0 - Le deuxième zéro indique le GID,
  • racine - Il indique le vrai nom de l'utilisateur.
  • /racine - C'est le répertoire personnel de l'utilisateur root,
  • /bin/bash - Shell par défaut pour l'utilisateur root.

J'espère que vous aurez une idée de base sur le fichier /etc/passwd. Revenons maintenant à notre sujet, à savoir la liste de tous les utilisateurs d'un système Linux.

Répertorier tous les utilisateurs sous Linux

Il existe plusieurs façons de répertorier tous les utilisateurs d'un système Linux. Ici, j'ai inclus tous les moyens possibles.

1. Répertorier tous les utilisateurs sous Linux à l'aide de la commande cat

Comme son nom l'indique, la commande cat est généralement utilisée pour concaténer des fichiers et imprimer le contenu des fichiers.

Pour répertorier tous les utilisateurs d'un système Linux à l'aide de la commande cut, exécutez :

$ cat /etc/passwd

Cette commande listera tous les utilisateurs disponibles

Exemple de résultat :

root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/ bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games :/usr/games:/usr/sbin/nologinman:x:6:12:man:/var/cache/man:/usr/sbin/nologinlp:x:7:7:lp:/var/spool/lpd :/usr/sbin/nologinmail:x:8:8:mail:/var/mail:/usr/sbin/nologinnews:x:9:9:news:/var/spool/news:/usr/sbin/nologinuucp:x :10:10:uucp:/var/spool/uucp:/usr/sbin/nologinproxy:x:13:13:proxy:/bin:/usr/sbin/nologinwww-data:x:33:33:www-data :/var/www:/usr/sbin/nologinbackup:x:34:34:backup:/var/backups:/usr/sbin/nologinlist:x:38:38:Gestionnaire de liste de diffusion :/var/list:/usr /sbin/nologinirc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologingnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/ usr/sbin/nologinnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologinsystemd-network:x:100:102:systemd Network Management,,,:/run/systemd/netif:/usr/sbin /nologinsystemd-resolve:x:101:103:systemd Resolver,, ,:/run/systemd/resolve:/usr/sbin/nologinsyslog:x:102:106::/home/syslog:/usr/sbin/nologinmessagebus:x:103:107::/nonexistent:/usr/sbin/ nologin_apt:x:104:65534::/nonexistent:/usr/sbin/nologinuuidd:x:105:111::/run/uuidd:/usr/sbin/nologinavahi-autoipd:x:106:112:Avahi autoip daemon, ,,:/var/lib/avahi-autoipd:/usr/sbin/nologinusbmux:x:107:46:démon usbmux,,,:/var/lib/usbmux:/usr/sbin/nologindnsmasq:x:108:65534 :dnsmasq,,,:/var/lib/misc:/usr/sbin/nologinrtkit:x:109:114:RealtimeKit,,,:/proc:/usr/sbin/nologincups-pk-helper:x:110:116 :utilisateur pour le service cups-pk-helper,,,:/home/cups-pk-helper:/usr/sbin/nologinspeech-dispatcher:x:111:29:Speech Dispatcher,,,:/var/run/speech- dispatcher:/bin/falsewhoopsie:x:112:117::/nonexistent:/bin/falsekernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologinsaned:x:114:119 ::/var/lib/saned:/usr/sbin/nologinavahi:x:116:122:Démon Avahi mDNS,,,:/var/run/avahi-daemon:/usr/sbin/nologincolord:x:117:123 :démon de gestion des couleurs colord,,,:/var/lib/colord:/usr/sbi n/nologinhplip:x:118:7:utilisateur du système HPLIP,,,:/var/run/hplip:/bin/falsegeoclue:x:119:124::/var/lib/geoclue:/usr/sbin/nologingnome- initial-setup:x:120:65534::/run/gnome-initial-setup/:/bin/falsegdm:x:121:125:Gnome Display Manager:/var/lib/gdm3:/bin/falsesk:x :1000:1000:sk,,,:/home/sk:/bin/bashDebian-exim:x:122:128::/var/spool/exim4:/usr/sbin/nologinpulse:x:115:120:PulseAudio daemon ,,,:/var/run/pulse:/usr/sbin/nologinsystemd-timesync:x:123:127:synchronisation de l'heure systemd,,,:/run/systemd:/usr/sbin/nologintss:x:124:131 :Pile logicielle TPM,,,:/var/lib/tpm:/bin/falsetcpdump:x:125:132::/nonexistent:/usr/sbin/nologin_flatpak:x:126:133:Assistant d'installation à l'échelle du système Flatpak, ,,:/nonexistent:/usr/sbin/nologinsystemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin

Répertorier tous les utilisateurs sous Linux à l'aide de la commande cat

Comme je l'ai déjà mentionné, le premier champ dans les entrées ci-dessus représente les utilisateurs. Si vous ne voulez pas tous les champs mais seulement afficher les noms d'utilisateurs, les méthodes suivantes pourraient vous aider.

3. Lister les utilisateurs à l'aide de la commande cut

La commande "couper" est utilisée pour supprimer des sections (ou champs) de chaque ligne de fichiers.

Pour répertorier tous les utilisateurs avec la commande cut dans un système Linux, exécutez :

$ cut -d :-f1 /etc/passwd

Cette commande n'affichera que les noms d'utilisateurs du fichier /etc/passwd et ignorera tous les autres champs.

Exemple de résultat :

rootdaemonbinsyssyncgamesmanlpmailnewsuucpproxywww-databackuplistircgnatsnobodysystemd-networksystemd-resolvesyslogmessagebus_aptuuiddavahi-autoipdusbmuxdnsmasqrtkitcups-pk-helperpeech-dispatcherwhoopsiekernoopssanedavahicolordhplipgeocluegnome-initial-setupgdmskDebian-eximpulsesystemdps_syncts  

Répertorier tous les utilisateurs sous Linux à l'aide de la commande cut

4. Imprimer les utilisateurs sous Linux avec la commande awk

Nous pouvons également utiliser la commande "awk" pour répertorier tous les utilisateurs sous Linux.

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

Cette commande affichera également uniquement les utilisateurs et omettra tous les autres détails.

Répertorier tous les utilisateurs sous Linux à l'aide de la commande awk

5. Voir la liste des utilisateurs avec compgen

Compgen est intégré à BASH pour manipuler les fonctions de complétion programmables.

Pour répertorier tous les utilisateurs utilisant compgen, exécutez :

$ compgen -u

6. Afficher tous les utilisateurs à l'aide de la commande getent

Une autre façon de lister les utilisateurs sous Linux est d'utiliser "getent" commande comme ci-dessous :

$ getent passwd

Cette commande lira le fichier /etc/passwd et listera tous les utilisateurs dans ce fichier.

Répertorier tous les utilisateurs sous Linux à l'aide de la commande awk

Un avantage notable de la commande getent est qu'elle répertorie non seulement les utilisateurs dans le fichier /etc/passwd, mais tous les utilisateurs de tous les backends userdb configurés, par exemple LDAP, sur un système donné.

7. Répertorier les utilisateurs à l'aide des commandes "plus" ou "moins"

Les commandes plus et moins sont utilisées pour ouvrir un fichier donné pour une lecture interactive, permettant le défilement et la recherche.

Pour imprimer tous les utilisateurs utilisant la commande more ou less, exécutez :

$ de plus /etc/passwd

Ou,

$ de moins /etc/passwd

Lire connexe :

  • Comment répertorier les membres d'un groupe sous Linux
  • Comment rechercher des utilisateurs actuellement connectés sous Linux
  • Comment surveiller l'activité des utilisateurs sous Linux
  • Comment limiter l'accès des utilisateurs au système Linux
  • La différence entre plus, moins et la plupart des commandes
  • Comment ajouter, supprimer et accorder des privilèges Sudo aux utilisateurs d'Ubuntu
  • Comment savoir à quels groupes un utilisateur appartient sous Linux
  • La bonne façon de modifier les fichiers /etc/passwd et /etc/group sous Linux

J'espère que cela vous aidera.


Linux
  1. Comment trouver tous les utilisateurs de Sudo sous Linux

  2. Comment lister tous les utilisateurs d'un groupe Linux ?

  3. Linux - Comment lister tous les utilisateurs

  4. Comment puis-je répertorier tous les utilisateurs verrouillés sous Linux ?

  5. Comment lister tous les utilisateurs avec root ?

Comment répertorier les utilisateurs Linux sur Ubuntu

Comment répertorier les utilisateurs sous Linux

Comment répertorier les utilisateurs sous Linux

Comment lister tous les utilisateurs d'un groupe sous Linux

Comment lister tous les groupes sous Linux ?

Linux - Ajouter un utilisateur à la liste des Sudoers