Bash

更改使用者主目錄無效

  • December 29, 2016

當我從 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)。

引用自:https://unix.stackexchange.com/questions/333570