FreeBSD - ‘cd ~’ 带我进入 /root 而不是主目录

FreeBSD - ‘cd ~’ 带我进入 /root 而不是主目录

我刚刚使用 adduser 实用程序创建了一个新用户(我以 root 身份登录)。我为新用户提供了自己的主目录。如果我检查 /etc/passwd 文件,它会显示用户主文件夹是正确的,即使我以该用户身份通过​​ ssh 进入服务器,它也会让我进入正确的文件夹。但是,每当我输入“cd ~”时,它都会带我进入 /root。有人知道我该如何解决这个问题吗?

答案1

有几件事需要检查:

  • 如果您sudo向新用户使用sudo -u <newuser>,请确保传递标志-H,以便它设置HOME环境变量,如下所示:sudo -u <newuser> -H
  • 如果您使用su,请确保使用su -以便它将启动登录 shell,这将明确设置您的 HOME 变量。
  • 如果您从一开始就以该用户身份登录,则可以通过验证 *shecho $HOME认为您正在使用哪个 HOME 目录来验证您的主目录是否在 *sh 中正确设置。

希望这些提示(及其解释)能有所帮助!

答案2

您是以用户身份登录的,还是su以新用户身份登录的?如果您使用了su,您是否使用了su -或任何 BSD 等效项来确保您使用了新用户的环境?

答案3

这是因为你的 euid 是 root。所以你已执行 su 或 sudo 来获得 root 权限

答案4

只是为了确定,你确实为这个用户分配了他自己的 uid,而且他没有使用与 root 相同的 uid?

相关内容