Я использую Ubuntu 14.04.3 с необслуживаемыми обновлениями, настроенными только для установки обновлений безопасности.

Это работает, как и ожидалось, с уведомлениями по электронной почте, когда требуется перезагрузка:

Unattended upgrade returned: True

Warning: A reboot is required to complete this upgrade.

Загадочная вещь заключается в том, что когда я вхожу через ssh для перезагрузки, я ожидаю, что баннер входа в систему также сообщит мне, что требуется перезагрузка, но это не так, я просто получаю:

42 packages can be updated.
0 updates are security updates.

Однако, если я немедленно выйти из системы и снова войти в систему , то я получаю:

42 packages can be updated.
0 updates are security updates.

*** System restart required ***

Я понимаю, что эти сообщения для входа генерируются pam_motd , и (по умолчанию) конфигурация в /etc/pam.d/sshd выглядит следующим образом:

session    optional    pam_motd.so  motd=/run/motd.dynamic noupdate
session    optional    pam_motd.so # [1]

Кажется, что файл /run/motd.dynamic обновляется только после первой обработки входа в систему, но почему он настроен таким образом (noupdate) по умолчанию? Какова цель второй строки для pam_motd.so в файле conf? Комментарий [1] выглядит так, как будто он должен ссылаться на сноску, но в файле нет такой заметки.

1 ответ1

0

Это ошибка. Конфигурация pam Debian sshd была изменена, чтобы добавить noupdate в первую строку, где 21 мая 2012 года отображается файл /run/motd.dynamic , чтобы предотвратить повторное выполнение сценариев обновления motd дважды. Его следует добавить ко второй строке, в которой отображается статический файл /etc/motd (если он существует). Это было исправлено в исходном коде 05 августа 2014 года.

Я до сих пор не знаю, что означают комментарии [1] в файле конфигурации, но они уже были там, когда исходный файл debian/ssh.pam был впервые добавлен в пакет openssh-server 01 сентября 2003 года.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .