Die allererste Aufgabe, die ein Linux-Administrator ausführt, wenn ein Benutzer meldet, dass er sich nicht beim System anmelden kann. Ja, um zu wissen, wie man Benutzer unter Linux auflistet, muss man jedes Anmeldeproblem beheben.
Ich hoffe, Sie haben Befehle gesehen, um einen Benutzer zu erstellen, einen Benutzer zu löschen, einen Benutzer zu ändern und angemeldete Benutzer aufzulisten. Hier werden wir sehen, wie man Benutzer unter Linux auflistet.
Benutzer unter Linux mit /etc/passwd-Datei auflisten
Wenn Sie sich erinnern, fügt der Befehl useradd beim Erstellen eines Benutzers einen Eintrag über den Benutzer in die Datei /etc/passwd ein. Mit Hilfe der Datei /etc/passwd können wir die im System vorhandenen lokalen Benutzer auflisten.
Benutzer cat oder weniger oder mehr Befehl zum Auflisten von Benutzern.
cat /etc/passwd
Ausgabe:
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin webmaster:x:1999:1001::/opt/webadmin:/bin/bash user_name:x:2000:2000:sudo user:/home/user_name:/bin/bash
Jede Zeile in der Datei /etc/passwd repräsentiert einen einzelnen Benutzer.
Die Datei /etc/passwd hat sieben Felder, die durch einen Doppelpunkt getrennt sind.
- Benutzername
- Verschlüsseltes Passwort (x bedeutet, dass das Passwort in der Datei /etc/shadow gespeichert ist)
- Benutzer-UID (Benutzeridentifikationsnummer)
- GID des Benutzers (Gruppenidentifikationsnummer)
- GECOS-Feld (vollständiger Benutzername oder Kommentare)
- Home-Verzeichnis des Benutzers
- Login-Shell
Wenn Sie nur die Liste der Benutzernamen im System anzeigen möchten, können Sie die Ausgabe einfach filtern.
cat /etc/passwd | awk -F: '{ print $1}'
Ausgabe:
root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd postfix chrony sshd webmaster user_name
Benutzer unter Linux mit getent auflisten
Der Befehl getent listet Benutzer auf, indem er die in /etc/nssswitch.conf konfigurierten Datenbanken abfragt. Die Datenbank enthält sowohl /etc/passwd (lokale Benutzer) als auch LDAP. Daher zeigt getent Benutzer sowohl von /etc/passwd als auch von LDAP an.
Führen Sie den folgenden Befehl aus, um eine Liste der Linux-Benutzer abzurufen.
getent passwd
Ausgabe:
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin webmaster:x:1999:1001::/opt/webadmin:/bin/bash user_name:x:2000:2000:sudo user:/home/user_name:/bin/bashDie Ausgabe des Befehls gatent ähnelt dem Inhalt der Datei /etc/passwd. Sie würden zusätzlich Benutzer von LDAP sehen, wenn das System mit LDAP konfiguriert ist.
Verwenden Sie awk, um nur die Benutzernamen aufzulisten.
getent passwd | awk -F: '{ print $1}'
Ausgabe:
root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd postfix chrony sshd webmaster user_name
Schlussfolgerung
In diesem Beitrag haben Sie gelernt, Benutzer in Ihrem Linux-System aufzulisten. Das Auflisten von Benutzern in Linux ist sehr einfach und Sie müssen nur die Ausgabe des Befehls auf die Informationen achten, die Sie für die Fehlerbehebung bei Problemen mit der Benutzeranmeldung benötigen.