Со временем это изменилось:
Сначала был /etc/motd
(статический).
Затем в Ubuntu появился собственный пакет update-motd
, основанный на скрипте, вызываемом из cron.
Наконец, PAM скопировал идею Ubuntu о /etc/update-motd.d/, и поэтому Debian и другие системы также имеют такое же поведение.
Здесь есть объяснение
https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/
Вот как сейчас все так: PAM просто прочитает /var/run/motd.dynamic
и /etc/motd
, если он существует (вставить из поста)
/etc/motd
— классический статический файл. Больше не существует в Ubuntu 16.04 LTS, даже в виде символической ссылки на /var/run/motd. Однако если он создан, его содержимое также будет напечатано. /var/run/motd
— это использовалось в первой реализации Ubuntu. Он больше не используется. Он просто игнорируется PAM. /var/run/motd.dynamic
— это то, что сейчас отображается при входе в систему. Он обновляется /etc/init.d/motd при каждой загрузке. Он также обновляется с помощью PAM, запуская сценарии в /etc/update-motd.d/, если они существуют. /etc/motd.tail
— пакет Ubuntu, используемый для заполнения /etc/update-motd.d. Один из них будет проверять содержимое этого файла, чтобы было легко добавить статический контент. Этот скрипт больше не существует в пакете, поэтому файл не имеет ожидаемого эффекта. Пример из поста
mkdir /etc/update-motd.d
rm -f /etc/motd # in Debian still exists
cat > /etc/update-motd.d/10logo < /etc/update-motd.d/20updates <<'EOF'
#!/bin/sh
echo
echo "uptime is $( uptime )"
echo "date is $( date )"
EOF
chmod a+x /etc/update-motd.d/*