「su」を使用してユーザーを切り替えると、$ プロンプトが表示されます。

「su」を使用してユーザーを切り替えると、$ プロンプトが表示されます。

私はUbuntu 19を使用しており、いくつかのユーザーを作成しました。私が作成して実行しようとした最新のユーザーの場合:

su userx

$プロンプトを使用してのみログインし、そのユーザーとして「bash」と入力すると、次の結果が表示されます。ユーザーx @ myhost:

他のユーザーはすべてuser@myhostとしてログインしています。このユーザーが$プロンプトに直接移動するのはなぜですか?そして私の道のどれもうまくいかないようです。私が入力している間二つ「bash」と入力するまでは動作しません。

ベストアンサー1

ユーザーを作成するときにユーザーのログインシェルを設定しなかったため、suデフォルトは次/bin/shのとおりですman su

       The invoked shell is chosen from (highest priority first):

           The shell specified with --shell.

           If --preserve-environment is used, the shell specified by the
           $SHELL environment variable.

           The shell indicated in the /etc/passwd entry for the target
           user.

           /bin/sh if a shell could not be found by any above method.

useraddの代わりにadduserを使用すると、このプロセスが簡単になります。

/etc/passwd のユーザーの横にログインシェルがリストされていない場合は、これが問題であることを確認できます。

以下を実行してこの問題を解決できます。usermod -s /bin/bash <username>

おすすめ記事