Aparentemente, uma questão antiga (como em 15 anos). A "correção" para eles foi:
* Note that HOME may not be useful in pam_environment, closes: #109281
O site Linux PAM também diz o mesmo:
Note that many environment variables that you would like to use may not be set by the time the module is called. For example, HOME is used below several times, but many PAM applications don't make it available by the time you need it.
Aparentemente, alguém se incomodou com o patch pam_env
para ele no Fedora.
De qualquer forma, em sistemas baseados em Debian, uma maneira crua é usar:
HOME=/home/@{PAM_USER}
Antes de referenciar ${HOME}
. Isso pode ser feito em /etc/security/pam_env.conf
, por exemplo. Naturalmente, isso será interrompido quando o diretório pessoal do usuário não for /home/$USER
.