FreeBSDでデフォルトのシェルを変更する方法は?


10

FreeBSDのデフォルトのシェルはsh、私には本当に我慢できません。オートコンプリートは非常に制限されており、rehashコマンドは私を殺します。私は一人の武装した男と一人の脚の男のように感じます...

シェルをグローバルに、zshまたはbashrootと現在および将来のすべてのユーザーに変更するにはどうすればよいですか?


1
FreeBSD 9.1で既存のユーザーを更新するためにこれを試したところ、システムから次の
コマンド

回答:


28

既存のユーザーの場合は、chsh次のコマンドを使用します(“ ch ange sh ell”):

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

今後のユーザー向け:

  • /etc/pw.confdefaultshellキーワードを編集
  • 使用する場合adduser()、必要なシェルを選択

15
...しかし、ルートシェルをポートツリーから何かに変更する場合は注意してください(たとえば、/ usr / local / bin / bash)。ポートのアップグレード中に何かを台無しにすると、ルートアクセス権がないことに気付くことがあります。
larsk、2011年

2
s / feature / future /?
追って通知があるまで一時停止。

larsk:zshは静的にビルドできます。[少なくとも、 "make config"でパラメータを見た]それで、私が理解している限り、すべての依存関係が組み込まれているバイナリですか?/ usr / local / bin / zshを/ bin / zshに配置できますか?rootユーザーは古いバージョンを使用できますが、問題ありません。それで安全ですか?
ホルムス、2011年

8
静的にビルドして/ binにコピーするのが、おそらく最も安全な方法です。私はちょうどにrootのシェルセットのままに/bin/shして、exec bash私は本当に(より頻繁に私はちょうど使用し、rootでログインする必要がある場合に、それらのまれにsudo自分のユーザーアカウントから)。
larsk、2011年

これはルートとして(またはを使用してsudo)実行する必要があることに注意してください。
Sopalajo de Arrierez 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.