/etc/motd печатает дважды в Gentoo Linux

Я столкнулся с проблемой, когда я получаю две распечатки моего файла / etc / motd в Gentoo Linux. sshd выполняет одну из распечаток, и я могу переключить ее, настроив /etc/ssh/sshd_config, но я не могу узнать, кто печатает вторую копию. Я не могу отключить sshd от распечатки motd из-за требования аудита. Я запускаю оболочку bash, для чего она стоит

Есть идеи, кто печатает второй экземпляр? Я не думаю, что это bash, так как, когда я изменяю / etc / passwd на использование / bin / ksh для своей оболочки, я все равно отображаю motd.

Это не / etc / issue, так как содержит строку "This is \n (\s \m \r) (\l)", которая печатается только когда вы сидите перед машиной.

10 ответов

Решение

Похоже, ответ был в файлах /etc/pam.d/login и /etc/pam.d/system-login. Я должен был закомментировать строки pam_motd.so.

Вы входите через соединение SSH??.. Если это так, может быть, вы должны включить и не указывать ключ "PrintMotd No" в файле sshd_config и перезапустить службу...

У меня была та же проблема с Ubuntu 15.04 и SSHD, настроенным для использования аутентификации PAM. Мой сервер отправлял два MOTD. Мне удалось заставить его работать хорошо, позволяя SSHD обновлять MOTD при каждом входе в систему. Это делается путем редактирования /etc/pam.d/sshd и удаления / комментирования строки, которая говорит noupdate,

# Print the message of the day upon successful login.
# This includes a dynamically generated part from /run/motd.dynamic
# and a static (admin-editable) part from /etc/motd.
session    optional     pam_motd.so  motd=/run/motd.dynamic
#session    optional     pam_motd.so  noupdate

Недостатком является то, что, если процесс обновления этого сообщения занимает некоторое время (или время ЦП), вход в систему может привести к потере некоторого ресурса, что, по-видимому, занимает некоторое время или даже время ожидания.

Тем не менее, базовый MOTD по умолчанию, настроенный из коробки в Ubuntu 15.04, не должен вызывать проблем.

У меня тоже была эта проблема, и меня беспокоило не двойное выражение, а двойные строки "Последний вход в систему", причем вторая ссылалась на событие входа в систему прямо над ним.

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

Вот как выглядят нижние 5 строк моего /etc/pam.d/system-login:

session         required        pam_env.so
#session        optional        pam_lastlog.so
session         include         system-auth
#session        optional        pam_motd.so motd=/etc/motd
session         optional        pam_mail.so

Обратите внимание на закомментированные строки. Теперь все работает как положено. Спасибо, Даниэль.

Я думаю, что было бы более разумно убедиться, что единственным компонентом, который печатает MOTD, является PAM. Таким образом, вы можете отключить его в любом другом месте и при этом соответствовать требованиям аудита.

Просто мои 0,02 доллара.

Помимо комментирования строк pam_motd.so, не забудьте также закомментировать следующие строки в /etc/pam.d/login и /etc/pam.d/system-login:

необязательный сеанс pam_lastlog.so

Таким образом, строка "последнего входа в систему" ​​печатается один раз, а не дважды.

Когда у меня возникла эта проблема, я узнал, что это была комбинация активных параметров, когда система была выдана мне. Первая копия сообщения была напечатана до аутентификации SSH и была связана с SSH Banner опция устанавливается в sshd_config:

Banner /etc/motd

Злоупотребление MOTD больше, чем злоупотребление Banner,

Вторая копия сообщения была напечатана, потому что в конфигурации по умолчанию SSH печатает MOTD при входе в систему. Я отключаю это, установив PrintMotd:

PrintMotd no

Также проверьте /etc/issue, некоторые системы печатают оба, и они могут просто содержать один и тот же текст. Обратите внимание, что я не использую gentoo, так что это может быть не так.

Чтобы позволить только модулю pam_motd.so печатать motd, установите переменную MOTD в /etc/login.defs в пустую строку.

MOTD_FILE ""

Вероятно, это делается из самой оболочки. Проверьте глобальный профиль и bashrc, чтобы увидеть, может ли это быть так.

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