Chsh: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
Keine Bearbeitungszusammenfassung  | 
				Keine Bearbeitungszusammenfassung  | 
				||
| (28 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
'''chsh''' - '''ch'''ange '''sh'''ell ändert die   | '''chsh''' - '''ch'''ange '''sh'''ell ändert die [[Bash/Start und beenden#Bash als Login-Shell|Login-Shell]] eines Benutzers  | ||
= Beschreibung =  | = Beschreibung =  | ||
| Zeile 7: | Zeile 7: | ||
* Als Orientierung können dabei die Einträge in der Datei /etc/shells helfen.    | * 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.  | * 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.  | * 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.  | * 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 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.  | * 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 =  | = Installation =  | ||
| Zeile 16: | Zeile 23: | ||
= Syntax =  | = Syntax =  | ||
==   | chsh [Optionen] [ANMELDENAME]  | ||
== Argumente ==  | |||
* [ANMELDENAME]  | |||
== Optionen ==  | == Optionen ==  | ||
==   | {| class="wikitable sortable"   | ||
==   | |-   | ||
! 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.  | |||
|}  | |||
== Umgebung ==  | |||
== Rückgabewert ==  | |||
= Konfiguration =  | = Konfiguration =  | ||
== Dateien ==  | == Dateien ==  | ||
{| class="wikitable sortable"   | |||
|-   | |||
! 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'''  | |||
  chsh -s /usr/bin/fish  | |||
= Sicherheit =  | = Sicherheit =  | ||
= Dokumentation =  | = Dokumentation =  | ||
== RFC ==  | == RFC ==  | ||
== Man-  | == Man-Page ==  | ||
== Info-Pages ==  | == Info-Pages ==  | ||
== Siehe auch ==  | == Siehe auch ==  | ||
# [[chfn]](1)  | |||
# [[login.defs]](5)  | |||
# [[passwd]](5)  | |||
= Links =  | = Links =  | ||
== Projekt  | == Projekt ==  | ||
== Weblinks ==  | == Weblinks ==  | ||
# https://wiki.ubuntuusers.de/chsh/  | # https://wiki.ubuntuusers.de/chsh/  | ||
[[Kategorie:Linux/Benutzer/Befehl]]  | |||
[[Kategorie:Linux/Befehl]]  | |||
[[  | |||
[[  | |||
Aktuelle Version vom 27. September 2025, 22:44 Uhr
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]
Argumente
- [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.
  | 
Umgebung
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-Page
Info-Pages
Siehe auch
- chfn(1)
 - login.defs(5)
 - passwd(5)