#LinuxPAM warts for you:
Consder pam_motd(8). *Unless* the noupdate option is given, it rewrites the motd file by default. Which means that it has to run as the superuser. It rewrites the motd file by running a bunch of shell scripts. As the superuser.
In BSD login(1), the motd is read and printed *after* privileges have been dropped. And rewriting of /etc/motd is under the control of a separate single-shot motd service that runs at bootstrap or on demand.