root ユーザーと root 以外のユーザーは異なるシェルを使用します。

root ユーザーと root 以外のユーザーは異なるシェルを使用します。

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ドキュメントを見てください。

関連情報