Einführung
Linux-Betriebssystem ist einzigartig aufgrund seiner Multi-User-Eigenschaft, die mehrere Benutzer gleichzeitig auf einem System ermöglicht. Es ist jedoch wichtig, alle Benutzer zu verfolgen.
Verdienen Sie in diesem Artikel mehrere Befehle zum Auflisten aller Linux-Benutzer zusammen mit ihren Zugangsdaten. Diese Befehle funktionieren unter CentOS, Ubuntu, Arch Linux und auch andere Linux-Distributionen.
Voraussetzungen
- Eine installierte und ausgeführte Linux-Distribution
- Ein Benutzer mit sudo-Berechtigungen
- Zugriff auf ein Terminal/eine Befehlszeile
Alle Linux-Benutzer auflisten, 2 Optionen
Alle Benutzer in Linux mit der /etc/passwd-Datei auflisten
Details zu lokalen Benutzern finden Sie in /etc/passwd Datei. Jede in der Datei enthaltene Zeile enthält die Informationen eines Benutzers.
Es gibt zwei Möglichkeiten.
Öffnen Sie etc/passwd Datei, indem Sie den folgenden Befehl eingeben:
cat etc/passwd
Alternativ können Sie less
verwenden Befehl:
less etc/passwd
Listen Sie alle Linux-Benutzer mit dem getent auf Befehl
Datenbankeinträge konfiguriert in /etc/nsswitch.conf Datei enthält die passwd-Datenbank mit allen Benutzernamen und Anmeldeinformationen.
Um diese Daten zu extrahieren, verwenden Sie den Befehl:
getent passwd
Beides Option 1 und Option 2 zeigt alle Benutzer und ihre Anmeldeinformationen an.
Jede Zeile steht für einen Nutzer und hat sieben (7) Felder.
Die Felder werden durch : getrennt (Doppelpunkte) und jede Zeile enthält die folgenden Informationen:
1. Benutzername
2. Das verschlüsselte Passwort (dargestellt durch x , befindet sich im /etc/shadow Datei)
3. Benutzer-ID-Nummer (bekannt als UID )
4. Benutzergruppen-ID (bekannt als GID )
5. Vollständiger Benutzername
6. Benutzer-Home-Verzeichnis
7. Die Login-Shell (standardmäßig auf bin/bash eingestellt )
Wie man nur Linux-Benutzernamen auflistet
Falls Sie nicht alle Informationen zu jedem Benutzer benötigen, können Sie nur die Benutzernamen auflisten auf dem System. Es gibt zwei Möglichkeiten, nur das erste Feld (den Benutzernamen) jedes Benutzers anzuzeigen.
Option 1 :Mit dem awk- oder cut-Befehl.
Um nur Benutzernamen aufzulisten, können Sie einen der folgenden zwei (2) Befehle verwenden:
awk –F: ‘{ print $1}’ /etc/passwd
cut –d: –f1 /etc/passwd
Option 2 :Verwendung von getent
Befehl mit awk
und cut
.
Zum Lesen und Anzeigen des Benutzernamens ohne zusätzliche Informationen mit getent
Befehl, führen Sie den folgenden Befehl aus:
getent passwd | awk -F: ‘{ print $1}’
Verwenden Sie alternativ den Befehl:
getent passwd | –d: –f1
So suchen Sie nach bestehenden Linux-Benutzern
Der getent
Mit dem Befehl können Sie auch überprüfen, ob ein Benutzer auf dem System vorhanden ist.
Jeder der folgenden beiden Befehle liefert Ihnen diese Informationen:
getent passwd | grep username
getent passwd username
Wenn der Benutzer existiert, werden Anmeldeinformationen angezeigt. Gibt es dagegen keinen solchen Benutzer, erfolgt keine Ausgabe.
In der Abbildung unten zeigt die Abfrage beispielsweise an, ob ein Benutzer namens example existiert. Die Ausgabe beweist, dass ein solcher Benutzer existiert.
Systembenutzer vs. normaler Benutzer
Ein Systembenutzer ist derjenige, der normale Benutzer erstellt. Daher ist in diesem Fall der Systembenutzer der Root. Dieser Benutzer wird erstellt, wenn Sie das Linux-Betriebssystem zum ersten Mal installieren. Außerdem können Sie Systembenutzer für bestimmte Anwendungen erstellen.
Andererseits normale Benutzer sind alle Benutzer, die der Root (oder ein Benutzer mit sudo-Berechtigungen) erstellt. Jeder normale und Systembenutzer hat eine echte Login-Shell, ein Home-Verzeichnis sowie eine Benutzer-ID-Nummer (UID). Die Benutzer-ID-Nummer wird automatisch im Bereich zwischen dem Minimal- und dem Maximalwert vergeben.
Überprüfen von UID_MIN und UID_MAX
Wenn Sie überprüfen möchten, was der UID-Bereich für normale Benutzer ist, verwenden Sie grep mit dem folgenden Befehl:
grep –E”^UID_MIN|^UID_MAX” /etc/login.defs
Die Ausgabe zeigt, dass alle normalen Benutzer eine UID zwischen 1000 (UID_MIN) und 6000 (UID_MAX) haben.
So listen Sie normale Benutzer auf
Mit diesen Zahlen im Hinterkopf fragen Sie mit dem Befehl:
nach einer Liste aller Benutzer in diesem Bereichgetent passwd {1000..6000}
Die Abfrage listet alle normalen Benutzer auf, wie im Bild unten zu sehen. In diesem Beispiel gibt es zwei normale Benutzer im angegebenen Bereich.