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)。