Each message size is limited to 64KB.
If /etc/motd does not exist, then /run/motd is shown. If /run/motd does not exist, then /usr/lib/motd is shown.
Similar overriding behavior applies to the directories. Files in /etc/motd.d/ override files with the same name in /run/motd.d/ and /usr/lib/motd.d/. Files in /run/motd.d/ override files with the same name in /usr/lib/motd.d/.
Files in the directories listed above are displayed in lexicographic order by name. Moreover, the files are filtered by reading them with the credentials of the target user authenticating on the system.
To silence a message, a symbolic link with target /dev/null may be placed in /etc/motd.d with the same filename as the message to be silenced. Example: Creating a symbolic link as follows silences /usr/lib/motd.d/my_motd.
ln -s /dev/null /etc/motd.d/my_motd
The MOTD_SHOWN=pam environment variable is set after showing the motd files, even when all of them were silenced using symbolic links.
motd=/path/filename
motd_dir=/path/dirname.d
When no options are given, the default behavior applies for both options. Specifying either option (or both) will disable the default behavior for both options.
Only the session module type is provided.
PAM_ABORT
PAM_BUF_ERR
PAM_IGNORE
The suggested usage for /etc/pam.d/login is:
session optional pam_motd.so
To use a motd file from a different location:
session optional pam_motd.so motd=/elsewhere/motd
To use a motd file from elsewhere, along with a corresponding .d directory:
session optional pam_motd.so motd=/elsewhere/motd motd_dir=/elsewhere/motd.d
motd(5), pam.conf(5), pam.d(5), pam(8)
pam_motd was written by Ben Collins <bcollins@debian.org>.
The motd_dir= option was added by Allison Karlitskaya <allison.karlitskaya@redhat.com>.