summaryrefslogtreecommitdiff
path: root/modules/pam_motd
diff options
context:
space:
mode:
authorBalint Reczey <balint@balintreczey.hu>2019-12-04 18:12:49 +0100
committerTomáš Mráz <t8m@users.noreply.github.com>2019-12-04 18:12:49 +0100
commitc81280b16e1831ab0bdd0383486c7e2d1eaf1b5e (patch)
treec22229e5c138232d0c9ed84516ad5ce3d99ab41c /modules/pam_motd
parent3798dfdc346e482c9678dd376e6d1ebe5dd66714 (diff)
pam_motd: Export MOTD_SHOWN=pam after showing MOTD
This is a useful indication for update-motd profile.d snippet which can also try to show MOTD when it is not already shown. The use-case for that is showing MOTD in shells in containers without PAM being involved. * modules/pam_motd/pam_motd.c: Export MOTD_SHOWN=pam after showing MOTD * modules/pam_motd/pam_motd.8.xml: Mention setting MOTD_SHOWN=pam in the man page
Diffstat (limited to 'modules/pam_motd')
-rw-r--r--modules/pam_motd/pam_motd.8.xml5
-rw-r--r--modules/pam_motd/pam_motd.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/modules/pam_motd/pam_motd.8.xml b/modules/pam_motd/pam_motd.8.xml
index 4e2110c1..d939ad7e 100644
--- a/modules/pam_motd/pam_motd.8.xml
+++ b/modules/pam_motd/pam_motd.8.xml
@@ -77,6 +77,11 @@
<para>
<command>ln -s /dev/null /etc/motd.d/my_motd</command>
</para>
+ <para>
+ The <emphasis remap='B'>MOTD_SHOWN=pam</emphasis> environment variable
+ is set after showing the motd files, even when all of them were silenced
+ using symbolic links.
+ </para>
</refsect1>
<refsect1 id="pam_motd-options">
diff --git a/modules/pam_motd/pam_motd.c b/modules/pam_motd/pam_motd.c
index dbd718b6..51b0168b 100644
--- a/modules/pam_motd/pam_motd.c
+++ b/modules/pam_motd/pam_motd.c
@@ -396,6 +396,8 @@ int pam_sm_open_session(pam_handle_t *pamh, int flags,
_pam_drop(motd_dir_path_copy);
_pam_drop(motd_dir_path_split);
+ retval = pam_putenv(pamh, "MOTD_SHOWN=pam");
+
return retval;
}