更改用户主目录无效

mon*_*ist 5 bash users sudo home

当我从 root 用户切换到用户(安装git-auto-deploy时自动创建)时

sudo -u git-auto-deploy /bin/bash 我总是收到这个错误:

bash: /root/.bashrc: 权限被拒绝

我创建了一个用户主目录,并.profile在其中添加了以下内容(source也在其上运行):

export HOME=/srv/users/git-auto-deploy
Run Code Online (Sandbox Code Playgroud)

该命令finger git-auto-deploy提供以下输出:

Login: git-auto-deploy                  Name:
Directory: /srv/users/git-auto-deploy   Shell: /bin/bash
Never logged in.
Run Code Online (Sandbox Code Playgroud)

以该用户身份登录时,该env命令仍列出不正确的目录:

HOME=/root
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Kus*_*nda 18

使用sudo -s -H -u git-auto-deploy.

sudo本身不会改变 的值HOME,但会在-H使用时改变。这就是您收到“权限被拒绝”错误的原因。用户无法访问root的主目录(也不应该)。

-s选项可以sudo启动任何配置为指定用户登录 shell 的 shell(即无需显式运行/bin/bash)。