Chsh: Unterschied zwischen den Versionen

Aus Foxwiki
AlexandraCampos (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
K Textersetzung - „Man-Pages“ durch „Man-Page“
 
(49 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<h1>chsd</h1>
'''chsh''' - '''ch'''ange '''sh'''ell ändert die [[Bash/Start und beenden#Bash als Login-Shell|Login-Shell]] eines Benutzers
<br>


'''ch'''ange '''sh'''ell ändert die Login-Shell des 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.


<h1>Installation</h1>
== ANMERKUNGEN ==
<br>
* 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.


Das Programm '''chsh''' ist in jeder Installation bereits enthalten. Es ist im Paket
= Installation =
'''chsh''' ist in jeder Installation bereits enthalten. Es ist im Paket '''passwd''' enthalten.


    '''passwd'''
= Syntax =
chsh [Optionen] [ANMELDENAME]


integriert.
== Parameter ==
<br>
* [ANMELDENAME]
== 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.
|}


<h1>Benutzung</h1>
== Umgebung ==
== Rückgabewert ==


Die Syntax lautet:
= Konfiguration =
== 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
|}


<br>
= Anwendung =
== Shell des aktuellen Benutzers ändern ==
$ '''chsh -s /usr/bin/fish'''


<code>chsh [-s Loginshell] NUTZER</code>
= Sicherheit =
<br>
= Dokumentation =
== RFC ==
== Man-Page ==
== Info-Pages ==
== Siehe auch ==
# [[chfn]](1)
# [[login.defs]](5)
# [[passwd]](5)


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.
= Links =
<br>
== Projekt ==
== Weblinks ==
# https://wiki.ubuntuusers.de/chsh/


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.
<br>




Nachdem eine Shell gesetzt worden ist, muss man sich Ab- und Anmelden, damit dieser Wechsel wirksam wird.
<br>


<h1>Beispiel</h1>
<br>


Die Shell des aktuellen Benutzers auf fish ändern:
[[Kategorie:Linux/Benutzer]]
 
[[Kategorie:Linux/Befehl]]
<code>chsh -s /usr/bin/fish</code>
<br>

Aktuelle Version vom 6. November 2024, 12:30 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]

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.

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

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

Links

Projekt

Weblinks

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