今後、すべての新規ユーザーがデフォルトでシェルとしてbashを使用するようにします。
自分のシェルをbashに変更するには、コマンド「chsh -s/bin/bash」を使用することを知っていますが、将来のすべてのユーザーのシェルをデフォルトでbashに自動的に設定するにはどうすればよいですか?
adduser
adduser
デフォルトファイルは/etc/adduser.conf
です。 DSHELL
変数で定義されるデフォルトのシェルは、デフォルトで/bin/bash
です。
seradd
Useraddは非常に低レベルのユーティリティであり、直接使用されることはほとんどないため、おそらくこれは必要ありません。
Useraddを使用する場合は、/etc/default/useradd
スケルトンファイルを編集します(バックアップを作成することを忘れないでください)。
Shell
変数を/bin/bash
ではなく/bin/sh
に設定します。
これで、useradd
を使用して新しいユーザーを追加するたびに、bash
が自動的にデフォルトのシェルになります。
既に存在するユーザー
既存のユーザーのシェルを変更する場合は、/etc/passwd
ファイルを編集する必要があります(バックアップを必ず取ってください)。
ここに列の説明があります
このようなコロン(:)で区切られた順序で。
root:x:0:0:root:/root:/bin/bash
そのファイルの詳細については、マニュアルページman 5 passwd
を参照してください。
Octavianが指摘したように、デフォルトを変更する方法は、ユーザーの作成方法によって異なります。 Gnome Settingsで新しいユーザーを作成しようとしましたが、/etc/default/useradd
に続いているようです。既存のユーザーにとって、他の誰かのログインシェルを変更する最も安全な方法はsermodを使用することです:
usermod -s /bin/bash $USERNAME
ルートでない場合は、Sudo thatにする必要があります。代替方法は、変更するユーザーにSudoを追加して、次のようにchshを実行するだけです。
Sudo -u $USERNAME chsh -s /bin/bash
/etc/passwd
を手作業で編集することは避けるのが最善です。なぜなら、そこの間違いはあらゆる種類のものを壊す可能性があるからです。
サーバー上のすべてのユーザーにbash(実際に尋ねられた質問)を実際に欲しい場合、次のコマンドを実行できます。
Sudo dpkg-reconfigure dash
そして、ダッシュなしを選択します。この回答で説明したように、
これは、bashをデフォルトのシェルとして設定するだけでなく、shとmanページを正しく再ポイントします。
お役に立てれば。