Linux-Befehle · 3 min read · Sep 15, 2025

Linux chsh Befehl Tutorial für Anfänger (5 Beispiele)

Der chsh (change shell) Befehl in Linux ist ein Dienstprogramm, das es Benutzern ermöglicht, ihre Standard-Login-Shell zu ändern. Die Login-Shell ist die Befehlszeilenoberfläche, mit der Benutzer beim Einloggen in ein Unix-ähnliches System interagieren. Zu den gängigen Shells gehören dash, bash, zsh, ksh und fish.

Bevor wir uns mit dem chsh-Befehl beschäftigen, ist es wichtig zu verstehen, was eine Login-Shell ist. Die Login-Shell ist der erste Prozess, der unter Ihrer Benutzer-ID ausgeführt wird, wenn Sie sich einloggen. Sie ist verantwortlich für die Initialisierung Ihrer Umgebung und bietet eine Schnittstelle zur Interaktion mit dem System.

Gängige Linux-Shells

  • Bash (Bourne Again Shell): Die Standard-Shell für viele Linux-Distributionen, bekannt für ihre Benutzerfreundlichkeit und robusten Funktionen.
  • Zsh (Z Shell): Eine erweiterte Version von bash mit vielen zusätzlichen Funktionen wie verbesserter Tab-Vervollständigung und Anpassungsmöglichkeiten.
  • Ksh (Korn Shell): Eine Shell, die Skripting-Funktionen bietet, die sowohl in sh als auch in csh zu finden sind.
  • Fish (Friendly Interactive Shell): Bekannt für seine benutzerfreundlichen Funktionen wie Syntax-Hervorhebung und Autovervollständigung.
  • Dash: Die Linux Dash-Shell (dash) ist eine leichte, POSIX-konforme Shell, die für Geschwindigkeit und minimalen Ressourcenverbrauch entwickelt wurde und oft als Standard-Skriptshell in Debian-basierten Systemen verwendet wird.

Der Linux chsh Befehl

Wie die obige Einführung erklärt, ermöglicht der chsh-Befehl das Ändern Ihrer Login-Shell. Hier ist die Syntax:

chsh [options] [LOGIN]

Und hier ist, was die Man-Seite des Tools darüber sagt:

       Der chsh-Befehl ändert die Benutzer-Login-Shell. Dies bestimmt den Namen  
       des ursprünglichen Login-Befehls des Benutzers. Ein normaler Benutzer kann nur  
       die Login-Shell für sein eigenes Konto ändern; der Superuser kann die Login-  
       Shell für jedes Konto ändern.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon geben sollten, wie der chsh-Befehl funktioniert.

Q1. Wie verwendet man chsh?

Die grundlegende Verwendung ist ziemlich einfach - führen Sie einfach den ‘chsh’-Befehl ohne Argumente aus. Sie werden nach Ihrem Login-Passwort gefragt, und nachdem Sie es erfolgreich eingegeben haben, haben Sie die Möglichkeit, Ihre Login-Shell zu ändern.

chsh

Shell auf bash unter Ubuntu ändern

Beachten Sie, dass die Login-Shell für den aktuellen Benutzer standardmäßig geändert wird.

Q2. Wie ändert man die Login-Shell mit chsh?

Wie zu erwarten, geben Sie einfach den neuen Wert ein (siehe Screenshot im vorherigen Beispiel), und Ihre Shell wird auf die neue geändert.

Zum Beispiel habe ich /bin/sh als neuen Wert eingegeben.

Wie man die Login-Shell mit chsh ändert

Um die Änderung zu überprüfen, können Sie den chsh-Befehl erneut ausführen. Der Wert, der in eckigen Klammern angezeigt wird, ist die aktuelle Shell. In meinem Fall wurde die aktuelle Shell zu /bin/sh:

Neue Login-Shell festlegen

Q3. Wie ändert man die Login-Shell für einen anderen Benutzer?

Dazu geben Sie einfach den Benutzernamen als Eingabe für den chsh-Befehl an.

chsh [Benutzername]

Zum Beispiel, um die Login-Shell von root zu ändern, verwenden Sie chsh auf folgende Weise:

chsh root

Wie man die Login-Shell für einen anderen Benutzer ändert

Q4. Wie lässt man chsh im nicht-interaktiven Modus laufen?

Verwenden Sie dazu die -s-Befehlszeilenoption, die erfordert, dass ein Shell-Name als Eingabe übergeben wird.

Zum Beispiel:

chsh -s /bin/sh

So wird die Login-Shell für den aktuellen Benutzer auf /bin/sh auf nicht-interaktive Weise geändert.

Q5. Wie sieht man eine Liste der verfügbaren Login-Shells im System?

Um schnell einen Blick auf die Liste der in Ihrem System verfügbaren Shells zu werfen, geben Sie einfach den Befehl cat für die Datei /etc/shells ein.

Zum Beispiel, hier ist die Ausgabe, die auf meinem System erzeugt wurde:

# /etc/shells: gültige Login-Shells  
/bin/sh  
/bin/bash  
/bin/rbash  
/bin/dash

Hinweis:

       Die einzige Einschränkung, die für die Login-Shell gilt, ist, dass der Befehlsname  
       in /etc/shells aufgeführt sein muss, es sei denn, der Aufrufer ist der Superuser, und  
       dann kann jeder Wert hinzugefügt werden. Ein Konto mit einer eingeschränkten Login-Shell  
       darf ihre Login-Shell nicht ändern. Aus diesem Grund wird davon abgeraten, /bin/rsh in  
       /etc/shells zu platzieren, da eine versehentliche Änderung zu einer eingeschränkten  
       Shell den Benutzer daran hindern würde, ihre Login-Shell jemals wieder auf den ursprünglichen Wert zu ändern.

Fazit

Wie Sie sehen, ist der chsh-Befehl ein wichtiges Werkzeug, dessen sich Benutzer der Befehlszeile bewusst sein sollten. In diesem Tutorial haben wir die meisten der Befehlszeilenoptionen besprochen, die das Tool bietet. Um mehr über chsh zu erfahren, besuchen Sie die Man-Seite.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.