rootとしてsshを使用すると、私のシェルはですが、root以外のbash
ユーザーの場合はですsh
。どうすれば両方を使用できますかbash
?これは実際に質問の論理に反しています。ルートのプライマリシェルが他の一般ユーザーアカウントのプライマリシェルと異なるように構成されているのはなぜですか?
答え1
よりman usermod
。
例は次のとおりですsudo usermod -s /bin/bash username
。
答え2
私が知る限り、デフォルトのシェルは/etc/passwd
(ユーザーの作成時に決定されます)で定義されています。/etc/passwd
選択内容を反映するようにターゲットコンピュータを変更します。
答え3
このコマンドは、chsh(1)
ユーザーのシェルを変更するために使用されます。に許可されているシェルを一覧表示して、特定のシェルのみを許可するようにシステムを設定できます/etc/shells
。これにはroot権限は必要ありませんが、ユーザーはシェルのみを変更できます。
シェルを変更するには、パスワード(ルートではない)を入力する必要があります。ルートでない場合は、パスワードは必要なく、ユーザーシェルとして使用するプログラムを設定できます(無視/etc/shells
)。
答え4
オプションを使用してユーザーを作成するとき、useradd -s /bin/bash
または後で次を使用してこれを実行できます。usermod -s /bin/bash
提案できるように/etc/passwd
、またはファイルを修正してasoundmoveが提案したように。ただし、別のソリューションを探している場合は、そのファイルを見つけて/etc/default/useradd
必要に応じて変更することをお勧めします。その行を変更すると、SHELL=/bin/bash
すべての新規ユーザーに適用されます。また、/etc/login.defs
ドキュメントを見てください。