On Fri, 30 Mar 2018, Greg Wooledge wrote: > I have an extremely simple real-world litmus test which every system > I've ever seen so far has failed: > > How do I set MAIL=$HOME/Maildir/ in the login environment of every > user, regardless of their shell, or how they log in (console, ssh, > X Display Manager, GNOME Display Manager, etc.)? > > That's it. Simple, right? But login.conf can't do it. And pam_env.so > can't do it. They only allow static strings with no substitutions.
pam_env.so can do substitutions, like: MAIL DEFAULT=${HOME}/Maildir Though that assumes that HOME was actually set (probably not) at the time that pam_env fires. Recent versions of pam env have a PAM_ITEM @{HOME}, which calls pam_modutil_getpwnam, which should return the HOME directory in all cases. [Oddly, this isn't documented in the manpage, but it's there in the source code.] In this case, you likely really want pam_mail, and something like: session optional pam_mail.so dir=~/Maildir nopen which should DTRT. -- Don Armstrong https://www.donarmstrong.com "The trouble with you, Ibid" he said, "is that you think you're the biggest bloody authority on everything" -- Terry Pratchet _Pyramids_ p146