Chsh

Aus Foxwiki
Version vom 8. September 2024, 10:04 Uhr von Dirkwagner (Diskussion | Beiträge) (Textersetzung - „Exit-Status“ durch „Rückgabewert“)

chsh - change shell ändert die Login-Shell eines Benutzers

Beschreibung

  • Mit dem chsh Kommando lässt sich die Login-Shell eines Benutzers ändern.
  • Durch Loginshell wird der Name der Shell festgelegt, die beim Login verwendet werden soll.
  • Dabei muss der Pfad zur Shell mit angegeben werden!
  • Als Orientierung können dabei die Einträge in der Datei /etc/shells helfen.
  • In der Standardinstallation von Ubuntu sind nur die Dash und Bash installiert, andere Shells müssen über die Paketverwaltung nachinstalliert werden.
  • Ein normaler Benutzer darf nur seine eigene Login-Shell ändern.
  • Der Superuser/Root darf auch die Login-Shell für andere Benutzer ändern.
    • Für ihn gilt auch die Beschränkung auf Befehle aus /etc/shells nicht.
  • Nachdem eine Shell gesetzt worden ist, muss man sich Ab- und Anmelden, damit dieser Wechsel wirksam wird.
  • Der Befehl chsh ändert die Anmeldeshell des Benutzers. Damit wird der Name des ersten Login-Befehls des Benutzers festgelegt. 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.

ANMERKUNGEN

  • Die einzige Einschränkung für die Login-Shell besteht darin, dass der Befehlsname in /etc/shells aufgeführt sein muss, es sei denn, der Aufrufende ist der Superuser, dann kann kann ein beliebiger Wert hinzugefügt werden.
  • Ein Konto mit einer eingeschränkten Login-Shell kann seine Login-Shell nicht ändern.
  • Deswegen wird davon abgeraten, /bin/rsh in /etc/shells einzutragen abgeraten, da ein versehentlicher Wechsel zu einer eingeschränkten Shell den Benutzer daran hindern würde, seine Login-Shell jemals wieder auf den ursprünglichen Wert zu ändern.

Installation

chsh ist in jeder Installation bereits enthalten. Es ist im Paket passwd enthalten.

Syntax

chsh [Optionen] [ANMELDENAME]

Parameter

  • [ANMELDENAME]

Optionen

Unix GNU Bescheibung
-h --help zeigt die Hilfe an und beendet das Programm
-R --root CHROOT_DIR Übernimmt Änderungen im Verzeichnis CHROOT_DIR und verwendet die Konfigurationsdateien aus dem Verzeichnis CHROOT_DIR.
-s --shell SHELL Der Name der neuen Anmeldeshell des Benutzers.
  • Wenn Sie dieses Feld leer lassen, wählt das System die Standard-Login-Shell.
  • Wenn die Option -s nicht ausgewählt ist, arbeitet chsh interaktiv und fordert den Benutzer auf, die aktuelle Login-Shell anzugeben.
  • Geben Sie den neuen Wert ein, um um die Shell zu ändern, oder lassen Sie die Zeile leer, um die aktuelle Shell zu verwenden.
  • Die aktuelle Shell wird zwischen zwei [ ]-Zeichen angezeigt.

Umgebungsvariablen

Rückgabewert

Konfiguration

Dateien

Datei Beschreibung
/etc/passwd Informationen zu den Benutzerkonten
/etc/shells Liste der möglichen Anmelde-Shells
/etc/login.defs Konfiguration der Shadow-Passwort-Werkzeugsammlung

Anwendung

Shell des aktuellen Benutzers ändern

$ chsh -s /usr/bin/fish

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

  1. chfn(1)
  2. login.defs(5)
  3. passwd(5)

Links

Projekt

Weblinks

  1. https://wiki.ubuntuusers.de/chsh/