私/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
答え1
@{HOME}
PAMバージョン1.2.0以降、代わりに使用でき、${HOME}
一貫して動作します。
https://github.com/linux-pam/linux-pam/commit/73bdfac8c091492f466342feb8f2f5daa2f4c39b
答え2
これは明らかに一つ古い質問(15歳程度)。当時の「修正」は次のとおりです。
* Note that HOME may not be useful in pam_environment, closes: #109281
Linux PAMサイト私もこんな言葉をたくさんした。
使用する多くの環境変数は、モジュールが呼び出されたときに設定されていない可能性があります。たとえば、HOMEは以下で何度も使用されますが、多くのPAMアプリケーションでは必要に応じてそれを使用できません。
明らかに誰かが問題を解決しました。pam_env
パッチしなさいFedoraで。
とにかくDebianベースのシステムでは、おおよそのアプローチは次のようなものです。
HOME=/home/@{PAM_USER}
引用する前に${HOME}
。/etc/security/pam_env.conf
たとえば、これはで行うことができます。もちろん、これは存在しないユーザーのホームディレクトリを破壊します/home/$USER
。