我刚刚使用 adduser 实用程序创建了一个新用户(我以 root 身份登录)。我为新用户提供了自己的主目录。如果我检查 /etc/passwd 文件,它会显示用户主文件夹是正确的,即使我以该用户身份通过 ssh 进入服务器,它也会让我进入正确的文件夹。但是,每当我输入“cd ~”时,它都会带我进入 /root。有人知道我该如何解决这个问题吗?
答案1
有几件事需要检查:
- 如果您
sudo
向新用户使用sudo -u <newuser>
,请确保传递标志-H
,以便它设置HOME环境变量,如下所示:sudo -u <newuser> -H
。 - 如果您使用
su
,请确保使用su -
以便它将启动登录 shell,这将明确设置您的 HOME 变量。 - 如果您从一开始就以该用户身份登录,则可以通过验证 *sh
echo $HOME
认为您正在使用哪个 HOME 目录来验证您的主目录是否在 *sh 中正确设置。
希望这些提示(及其解释)能有所帮助!
答案2
您是以用户身份登录的,还是su
以新用户身份登录的?如果您使用了su
,您是否使用了su -
或任何 BSD 等效项来确保您使用了新用户的环境?
答案3
这是因为你的 euid 是 root。所以你已执行 su 或 sudo 来获得 root 权限
答案4
只是为了确定,你确实为这个用户分配了他自己的 uid,而且他没有使用与 root 相同的 uid?