我正在使用 Ubuntu 19,并且已经创建了一些用户。在我创建并尝试执行的最新用户上:
苏用户x
我仅使用 $ 提示符登录,但是当我以该用户身份输入“bash”时,我得到:用户x@myhost:
我的其他用户都以 user@myhost 身份登录。为什么该用户直接进入 $ 提示符?而且我的路径似乎都不起作用。当我打字时二在我输入“bash”之前它不起作用。
答案1
很可能您在创建用户时没有为用户设置登录 shell,导致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.
使用 adduser 而不是 useradd 可以使此过程更容易。
如果 /etc/passwd 中用户旁边没有列出登录 shell,则可以确认这就是问题所在。
您可以通过运行来修复此问题usermod -s /bin/bash <username>