Überprüfen der Benutzer-Shell in /etc/passwd
Im vorherigen Schritt haben Sie echo $SHELL
verwendet, um die Shell zu sehen, die Sie derzeit verwenden. Dies ist die Shell, die für Ihre aktuelle Terminal-Sitzung gestartet wurde. Allerdings führt das System auch in einer Konfigurationsdatei einen Eintrag über die Standard-Login-Shell jedes Benutzers.
Diese Konfigurationsdatei ist /etc/passwd
. Sie enthält Informationen über alle Benutzer auf dem System. Jede Zeile in /etc/passwd
repräsentiert ein Benutzerkonto und ist in Felder unterteilt, die durch Doppelpunkte (:
) getrennt sind. Das letzte Feld jeder Zeile gibt die Standard-Login-Shell des Benutzers an.
Um den Inhalt von /etc/passwd
anzuzeigen, können Sie den Befehl cat
verwenden. Da wir uns nur für die Zeile des labex
-Benutzers interessieren, können wir cat
mit dem grep
-Befehl kombinieren, um die Ausgabe zu filtern. grep
ist ein leistungsstarkes Werkzeug zum Suchen von Textmustern in Dateien.
Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:
cat /etc/passwd | grep labex
Lassen Sie uns diesen Befehl zerlegen:
cat /etc/passwd
: Dieser Befehl liest den Inhalt der Datei /etc/passwd
und gibt ihn an die Standardausgabe aus.
|
: Dies ist eine Pipe. Sie nimmt die Ausgabe des Befehls auf der linken Seite (cat /etc/passwd
) und sendet sie als Eingabe an den Befehl auf der rechten Seite (grep labex
).
grep labex
: Dieser Befehl sucht in der empfangenen Eingabe nach Zeilen, die die Zeichenkette "labex" enthalten, und gibt diese Zeilen aus.
Sie sollten eine einzelne Zeile ähnlich der folgenden sehen:
labex:x:5000:5000:LabEx user,,,:/home/labex:/usr/bin/zsh
Diese Zeile enthält mehrere Informationen über den labex
-Benutzer, getrennt durch Doppelpunkte. Die Felder sind (in der Reihenfolge):
- Benutzername (
labex
)
- Passwort (dargestellt durch
x
, der eigentliche Passwort-Hash wird aus Sicherheitsgründen woanders gespeichert)
- Benutzer-ID (UID) (
5000
)
- Gruppen-ID (GID) (
5000
)
- Benutzerinformationen (GECOS-Feld) (
LabEx user,,,
)
- Heimatverzeichnis (
/home/labex
)
- Standard-Login-Shell (
/usr/bin/zsh
)
Das letzte Feld, /usr/bin/zsh
, bestätigt, dass die Standard-Login-Shell für den labex
-Benutzer tatsächlich zsh
ist, was mit dem übereinstimmt, was Sie mit echo $SHELL
gesehen haben.
Klicken Sie auf Weiter, um fortzufahren.