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 the in the directories listed above are displayed in lexicographic order by name.
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.
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
pam_motd was written by Ben Collins <firstname.lastname@example.org>.
The motd_dir= option was added by Allison Karlitskaya <email@example.com>.