]> granicus.if.org Git - linux-pam/commit
pam_motd: Support multiple motd paths specified, with filename overrides (#69)
authorRobert Fairley <rfairley@users.noreply.github.com>
Mon, 19 Nov 2018 08:00:16 +0000 (03:00 -0500)
committerTomáš Mráz <t8m@users.noreply.github.com>
Mon, 19 Nov 2018 08:00:16 +0000 (09:00 +0100)
commitf9c9c72121eada731e010ab3620762bcf63db08f
tree0af482fd580b4794d977e7d8f584e78f522a7d59
parentf7abb8c1ef3aa31e6c2564a8aaf69683a77c2016
pam_motd: Support multiple motd paths specified, with filename overrides (#69)

Adds specifying multiple paths to motd files and motd.d
directories to be displayed. A colon-separated list of
paths is specified as arguments motd and motd_dir to the
pam_motd module.

This gives packages several options to install motd files to.
By default, the paths are, with highest priority first:
/etc/motd
/run/motd
/usr/lib/motd
/etc/motd.d/
/run/motd.d/
/usr/lib/motd.d/

Which is equivalent to the following arguments:
motd=/etc/motd:/run/motd:/usr/lib/motd
motd_dir=/etc/motd.d:/run/motd.d:/usr/lib/motd.d

Files with the same filename in a lower-priority directory,
as specified by the order in the colon-separated list, are
overridden, meaning PAM will not display them.

This allows a package to contain motd files under
/usr/lib instead of the host configuration in /etc.
A service may also write a dynamically generated motd in
/run/motd.d/ and have PAM display it without needing a
symlink from /etc/motd.d/ installed.

Closes #68

* modules/pam_motd/pam_motd.8.xml: update documentation
* modules/pam_motd/pam_motd.c: add specifying multiple motd paths
* xtests/.gitignore: add generated test script
* xtests/Makefile.am: add test source, scripts and config files
* xtests/tst-pam_motd.c: create
* xtests/tst-pam_motd.sh: create
* xtests/tst-pam_motd1.pamd: create
* xtests/tst-pam_motd1.sh: create
* xtests/tst-pam_motd2.pamd: create
* xtests/tst-pam_motd2.sh: create
* xtests/tst-pam_motd3.pamd: create
* xtests/tst-pam_motd3.sh: create
12 files changed:
modules/pam_motd/pam_motd.8.xml
modules/pam_motd/pam_motd.c
xtests/.gitignore
xtests/Makefile.am
xtests/tst-pam_motd.c [new file with mode: 0644]
xtests/tst-pam_motd.sh [new file with mode: 0755]
xtests/tst-pam_motd1.pamd [new file with mode: 0644]
xtests/tst-pam_motd1.sh [new file with mode: 0755]
xtests/tst-pam_motd2.pamd [new file with mode: 0644]
xtests/tst-pam_motd2.sh [new file with mode: 0755]
xtests/tst-pam_motd3.pamd [new file with mode: 0644]
xtests/tst-pam_motd3.sh [new file with mode: 0755]