Как обновляется / etc / motd?

Мне было интересно, как / etc / motd автоматически обновляется (я нахожусь на Ubuntu 10.04, серверная версия). Я нашел man-страницу update-motd через веб-поиск, но эта программа не установлена ​​на моем компьютере. Однако файл / etc / motd регулярно обновляется. Я просто не знаю, как и как часто. При выполнении locate motd перечислены следующие файлы:

/etc/motd
/etc/update-motd.d
/etc/update-motd.d/00-header
/etc/update-motd.d/10-help-text
/etc/update-motd.d/20-cpu-checker
/etc/update-motd.d/50-landscape-sysinfo
/etc/update-motd.d/90-updates-available
/etc/update-motd.d/91-release-upgrade
/etc/update-motd.d/98-reboot-required
/etc/update-motd.d/99-footer
/home/me/.cache/motd.legal-displayed
/lib/security/pam_motd.so
/usr/bin/motd+shell
/usr/lib/update-manager/release-upgrade-motd
/usr/lib/update-notifier/update-motd-cpu-checker
/usr/lib/update-notifier/update-motd-reboot-required
/usr/lib/update-notifier/update-motd-updates-available
/usr/share/base-files/motd.md5sums
/usr/share/man/man1/motd+shell.1.gz
/usr/share/man/man5/motd.5.gz
/usr/share/man/man5/motd.tail.5.gz
/usr/share/man/man5/update-motd.5.gz
/usr/share/man/man8/pam_motd.8.gz
/usr/share/ubuntu-serverguide/html/C/pam_motd.html
58
задан 19 February 2012 в 23:18

3 ответа

Принятый ответ выше является правильным, однако неполным. Я надеюсь, что это дает немного больше информации для ОП.

В основном при новой установке motd генерируется из трех мест:

  1. Сценарии в /etc/update-motd.d/
  2. Скомпилированные двоичные файлы, управляемые /etc/pam.d/login
  3. Файл / etc / legal

Номер 3 в конце относится к блоку текста, который включает в себя «Ubuntu поставляется с АБСОЛЮТНО НЕТ ГАРАНТИИ ... ", это файл / etc / legal . Однако вы не найдете ничего в /etc/update-motd.d/, в котором это упоминается, и слово "legal" не появится нигде в файле /etc/pam.d/login. Это включение стало неясным, и я действительно не знаю, как оно туда попало. Я имею в виду, я знаю, что есть {$ HOME} /. Cache / motd.legal-отображаемый, но я не знаю, откуда это (пока).

Файл pam.d / login отвечает за уведомление об ожидающем электронном письме, однако это неясно. Там есть хороший комментарий, описывающий «Печатает состояние почтового ящика пользователя при успешном входе в систему» ​​прямо в файле. Я полагаю, что технически это не является частью motd, но оно появляется при входе в систему, и, если вы новичок, это тонкое различие не может быть оценено.

В новой установке 14.04 нет файла / etc / motd. Если вы создадите его (или создадите motd.static и сделаете символическую ссылку на motd), содержимое этого файла будет добавлено к тексту, сгенерированному сценариями update-motd.d, но содержимое / etc / legal перестанет отображаться. Пойди разберись. Уведомление по электронной почте все еще появляется, поэтому это не прерывает сценарий pam.d / login, поэтому я сомневаюсь, что / etc / legal извлекается оттуда. Его поиск остается загадкой для читателя. Я заметил, что когда я удаляю ссылку (или файл) / etc / motd, юридический отказ от ответственности не возвращается немедленно. Это займет несколько минут. Я не хотел постоянно видеть отказ от ответственности, поэтому я удалил текст из этого файла.

Приветствия.

0
ответ дан 19 February 2012 в 23:18

Обновляется pam_motd при входе в систему. Страница руководства update-motd описывает это:

   Ubuntu introduced the update-motd framework, by which  the  motd(5)  is
   dynamically assembled from a collection of scripts at login.

   Executable  scripts in /etc/update-motd.d/* are executed by pam_motd(8)
   as the root user at each login, and this information is concatenated in
   /var/run/motd.  The order of script execution is determined by the run-
   parts(8) --lsbsysinit option (basically alphabetical order, with a  few
   caveats).

   On   Ubuntu   systems,  /etc/motd  is  typically  a  symbolic  link  to
   /var/run/motd.
0
ответ дан 19 February 2012 в 23:18

Чтобы немного подробнее рассказать о ответе Дэвида Куля :

Новая установка Ubuntu Server 14.04.1 LTS, по-видимому, не устанавливает общие пакеты ландшафта или обновления-уведомления-общие. Таким образом, следующие сценарии не установлены:

/etc/update-motd.d/50-landscape-sysinfo
/etc/update-motd.d/90-updates-available

Таким образом, чтобы получить всю информацию о входе в систему через ssh, доступную с серверов, перенесенных с 12.04 LTS, необходимо установить вышеуказанные пакеты вручную:

sudo apt-get install landscape-common update-notifier-common
0
ответ дан 19 February 2012 в 23:18

Другие вопросы по тегам:

Похожие вопросы: