私は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>