Suchen nach einem Benutzer in der /etc/passwd-Datei
In diesem Schritt werden wir eine weitere Möglichkeit untersuchen, um die Existenz eines Benutzers zu prüfen, indem wir die Datei /etc/passwd
untersuchen. Diese Datei ist ein grundlegender Bestandteil von Linux-Systemen und enthält Informationen über Benutzerkonten.
Die Datei /etc/passwd
speichert für jeden Benutzer wesentliche Details, darunter seinen Benutzernamen, seine Benutzer-ID (UID), Gruppen-ID (GID), Home-Verzeichnis und Standard-Shell. Jede Zeile in der Datei repräsentiert ein einzelnes Benutzerkonto, wobei die Felder durch Doppelpunkte (:
) getrennt sind.
Wir können den Befehl cat
verwenden, um den Inhalt der Datei /etc/passwd
anzuzeigen, und den Befehl grep
, um nach einem bestimmten Benutzernamen darin zu suchen.
Zunächst lassen wir uns den gesamten Inhalt der Datei /etc/passwd
anzeigen. Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:
cat /etc/passwd
Sie werden eine lange Liste von Zeilen sehen, wobei jede Zeile ein Benutzerkonto repräsentiert. Die Ausgabe sieht in etwa so aus (nur einige Zeilen gezeigt):
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
...
labex:x:5000:5000:LabEx user,,,:/home/labex:/bin/zsh
...
Jetzt verwenden wir grep
, um nach einem bestimmten Benutzer wie labex
zu suchen. Wir leiten die Ausgabe von cat /etc/passwd
an grep labex
weiter. Das Pipe-Symbol (|
) sendet die Ausgabe des Befehls auf der linken Seite als Eingabe an den Befehl auf der rechten Seite.
Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
cat /etc/passwd | grep labex
Wenn der Benutzer labex
existiert, sehen Sie die Zeile aus der Datei /etc/passwd
, die dem Benutzer labex
entspricht:
labex:x:5000:5000:LabEx user,,,:/home/labex:/bin/zsh
Wenn der Benutzer nicht existiert, findet grep
keine Übereinstimmung, und es wird keine Ausgabe angezeigt.
Versuchen wir erneut, nach dem Benutzer nonexistentuser
zu suchen:
cat /etc/passwd | grep nonexistentuser
Dieser Befehl sollte keine Ausgabe liefern, was darauf hinweist, dass der Benutzer nonexistentuser
in der Datei /etc/passwd
nicht gefunden wurde.
Das direkte Suchen in der Datei /etc/passwd
ist eine gängige Methode, um die Existenz eines Benutzers zu prüfen, insbesondere in Skripten. Es ist jedoch wichtig zu beachten, dass diese Datei nur lokale Benutzerkonten enthält. Benutzer, die über Netzwerkdienste (wie LDAP) verwaltet werden, erscheinen möglicherweise nicht hier.
Klicken Sie auf Weiter, um zur nächsten Methode zu gelangen.