Ubuntu

為什麼 .pam_environment 不在我的新路徑中包含 $HOME?

  • January 12, 2021

我創建了/home/myname/.pam_environment 一個包含

PATH DEFAULT=${PATH}:${HOME}/apps/flyway

但我的新路徑並沒有以/home/myname/apps/flyway. 為什麼不?

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/apps/flyway

這顯然是一個問題(如 15 歲)。他們當時的“修復”是:

* Note that HOME may not be useful in pam_environment, closes: #109281

Linux PAM 網站也說了這麼多:

請注意,在呼叫模組時,您可能不會設置許多您想使用的環境變數。例如,下面多次使用 HOME,但許多 PAM 應用程序並沒有在您需要時提供它。

顯然,有人費心在 Fedora 上對其進行修補。pam_env

無論如何,在基於 Debian 的系統上,一種粗略的方法是使用:

HOME=/home/@{PAM_USER}

在引用之前${HOME}。例如,這可以在 中完成/etc/security/pam_env.conf。當然,這會破壞使用者主目錄不在的地方/home/$USER

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