Wie ändere ich die Standard-Shell in FreeBSD?

10

Die Standard-Shell in FreeBSD ist shund ich kann es wirklich nicht ertragen: Autocomplete ist sehr begrenzt, und Rehash-Befehle bringen mich um. Ich fühle mich wie ein einarmiger und einbeiniger Mann ...

Wie kann ich die Shell global in zshoder bash- für root und für alle aktuellen und zukünftigen Benutzer ändern ?

holms
quelle
1
Ich habe gerade versucht, einen vorhandenen Benutzer in FreeBSD 9.1 zu aktualisieren, und das System hat mich aufgefordert, Folgendes zu verwenden: chpass -s / usr / local / bin / bash USER
commbot

Antworten:

28

Verwenden Sie für vorhandene Benutzer den chshBefehl („ ch ange sh ell“):

chsh -s SHELL USER
chsh -s /usr/local/bin/bash root

Für zukünftige Benutzer:

  • " /etc/pw.conf" defaultshellSchlüsselwörter bearbeiten
  • adduser()Wählen Sie bei Verwendung die gewünschte Shell
alvosu
quelle
15
... aber seien Sie vorsichtig, wenn Sie die Root-Shell in etwas aus dem Ports-Baum ändern (z. B. / usr / local / bin / bash), denn wenn Sie während eines Port-Upgrades etwas vermasseln, haben Sie möglicherweise keinen Root-Zugriff.
Larsks
2
s / feature / future /?
Bis auf weiteres angehalten.
larsk: zsh kann statisch richtig gebaut werden ..? [Zumindest habe ich Parameter in "make config" gesehen] Soweit ich weiß, ist es eine Binärdatei mit allen eingebauten Abhängigkeiten? Kann ich also / usr / local / bin / zsh nach / bin / zsh setzen? Root-Benutzer kann alte Version verwenden, es ist in Ordnung .. dann wäre es sicher?
Holms
8
Das statische Erstellen und Kopieren in / bin ist wahrscheinlich das Sicherste, was Sie tun können. Ich lasse die Shell von root einfach auf /bin/shund dann exec bashin den seltenen Fällen, in denen ich mich wirklich als root anmelden muss (häufiger verwende ich sie nur sudovon meinem Benutzerkonto aus).
Larsks
Beachten Sie, dass dies als root (oder mit sudo) ausgeführt werden muss.
Sopalajo de Arrierez