Warum ist die Standard-Shell von root anders konfiguriert als die Standard-Shell eines anderen normalen Benutzerkontos?

7

Wie ich weiß, ist rootdie Standard-Shell konfiguriert cshund die Standard-Shell des normalen Benutzers befindet sich shin FreeBSD. Und in Ubuntu rootist dash, normaler Benutzer ist bash. (Siehe: /server/239535/whats-the-ubuntus-default-shell/239537#239537 )

Warum sind sie unterschiedlich konfiguriert?

Eonil
quelle
2
en.wikipedia.org/wiki/Debian_Almquist_shell - Dash ist schneller, Bash bietet mehr Funktionen für den Endbenutzer. Da Sie die Root-Shell fast nie normal verwenden sollten, benötigen Sie nicht alle Funktionen von bash.
Zoredache

Antworten:

11

Laut FAQ :

Im Fall von FreeBSD liegt der Grund darin, dass cshdie einzige Shell "garantiert" im Basis-Dateisystem vorhanden ist ( portsnormalerweise werden Inhalte gespeichert /usr/local/bin, die standardmäßig ein anderes Dateisystem verwenden). Dies ist wichtig, da Sie nicht möchten, dass es eine Situation gibt, in der Sie rootsich nicht anmelden können, weil eine Shell in einem anderen (nicht gemounteten) Dateisystem verwendet wird.

Hank Gay
quelle
1
/bin/shist garantiert auch verfügbar. Hat cshaber bessere interaktive Funktionen und ist zu einer akzeptierten Tradition geworden. Andere BSDs folgen ihm nicht; Die Root-Shell von OpenBSD ist /bin/ksh(ein pdksh-Derivat).
Gilles 'SO - hör auf böse zu sein'
@ Gilles Richtig. Ich habe kshals rootShell auf meinem NetBSD VPS gewählt. Ich habe nur die "offizielle" Erklärung wiederholt. Ehrlich gesagt, cshist ein großer Grund, warum ich gerne in der Nähe toorbin: Ich bevorzuge bashoder zshmich selbst.
Hank Gay