Bash
更改使用者主目錄無效
當我從 root 使用者切換到使用者(安裝git-auto-deploy時自動創建)時
sudo -u git-auto-deploy /bin/bash
我總是收到這個錯誤:bash:/root/.bashrc:權限被拒絕
我創建了一個使用者主目錄,並在其中放入
.profile
以下內容(source
也在其上執行):export HOME=/srv/users/git-auto-deploy
該命令
finger git-auto-deploy
給出以下輸出:Login: git-auto-deploy Name: Directory: /srv/users/git-auto-deploy Shell: /bin/bash Never logged in.
以該使用者身份登錄時,該
env
命令仍然列出不正確的目錄:HOME=/root
我究竟做錯了什麼?
使用
sudo -s -H -u git-auto-deploy
.
sudo
本身不會改變 的值HOME
,但在-H
使用時會這樣做。這就是您收到“權限被拒絕”錯誤的原因。使用者無法訪問root
的主目錄(也不應該能夠訪問)。該
-s
選項可以sudo
啟動任何配置為指定使用者的登錄 shell 的 shell(即無需顯式執行/bin/bash
)。