나는/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
리눅스 PAM 사이트나도 이런 말을 많이 했다.
사용하려는 많은 환경 변수는 모듈이 호출될 때 설정되지 않았을 수 있습니다. 예를 들어 HOME은 아래에서 여러 번 사용되지만 많은 PAM 애플리케이션에서는 필요할 때 이를 사용할 수 없도록 합니다.
분명히 누군가가 문제를 해결했습니다.pam_env
패치해라페도라에서.
어쨌든 데비안 기반 시스템에서 대략적인 접근 방식은 다음을 사용하는 것입니다.
HOME=/home/@{PAM_USER}
인용하기 전에 ${HOME}
. /etc/security/pam_env.conf
예를 들어, 이 작업은 에서 수행할 수 있습니다. 물론, 이는 존재하지 않는 사용자의 홈 디렉토리를 손상시킬 것입니다 /home/$USER
.