/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, чтобы увидеть, может ли это быть так.