OpenSource в заметках

Путь к пониманию

Отключение вывода MOTD

2010-07-22 от ashep

Когда вы регистрируетесь в системе, программа login, кроме всего прочего, выводит вам на консоль так называемое MOTD (Message Of The Day) — сообщение дня, которое может содержать в себе полезную информацию, оставленную для пользователей системы администратором. А ведь, действительно, гораздо экономичнее и проще вывести пользователям сообщение при их входе в систему, нежели делать рассылку по электронной почте. Да, полезная штука для серверов, обслуживающих массу пользователей. Однако, если у сервера реальный пользователь всего один — вы, и сервер установлен у вас дома в спальне, под столом? К чему весь этот поток текста, захламляющий терминал?


Вариантов отключения вывода MOTD мне известно два. Первый подойдёт тем, кто является одним из многочисленных пользователей какой-либо многопользовательской системы и, как правило, не имеет прав суперпользователя, да и отключать вывод MOTD сразу для всех, вроде как-то негуманно, что ли. Вдруг, кому пригодится?

Второй вариант более радикален и требует наличия у вас суперпользовательского доступа к системе. Идеально подойдёт для администраторов серверов, в которых кроме самих администраторов реальных пользователей больше нет или же никому из пользователей системы такая функция только мешает.

Вариант вервый

Если обратиться к man-странице программы login, то можно заметить следующее. Если в домашнем каталоге пользователя, который вошёл в систему, присутствует файл .hushlogin, то login не будет выполнять вывод никаких сообщений. Внимание, будет отключён вывод не только MOTD, но также и сообщений типа "Last login: ", что в некоторых случаях не самое лучшее решение с точки зрения безопасности, поскольку не лишним, всё-таки, обращать внимание на то, когда ваша учётная запись использовалась для доступа к системе в последний раз.

В общем, если вас устраивает такой вариант отключения вывода MOTD, то смело создавайте указанный файл в вашем домашнем каталоге:

touch ~/.hushlogin

и наслаждайтесь входом в систему, не сопровождающийся посторонними «шумами»!

Вариант второй

Для того, чтобы глобально отключить вывод MOTD в большинстве Linux-систем, нужно знать, что  программа login в своей работе руководствуется инструкциями из файла /etc/login.defs и результатами работы PAM-модулей. Вообще, на сегодняшний день, директивы файла /etc/login.defs практически полностью заменены соответствующими модулями PAM. Заглянув в файл /etc/pam.d/login, можно увидеть следующее:

$ cat /etc/pam.d/login | grep motd
# Prints the motd upon succesful login
session optional pam_motd.so

Как видим, после успешной авторизации пользователя, в фазе «session», запускается PAM-модуль pam_motd.so, который и выполняет всю работу по отображению MOTD. Теперь остаётся лишь закомментировать строчку вызова PAM-модуля, чтобы избавиться от вывода Message Of The Day.

Плюсом данного метода является то, что сообщение системы о вашем последнем визите будет всё так же выводится, что может сыграть немаловажную роль в определении того, что вашим аккаунтом пользуется кто-то кроме вас. Дело в том, что за сообщение "Last login: " отвечает другой модуль PAM, который по умолчанию не закомментирован:

$ cat /etc/pam.d/login | grep last
# Prints the last login info upon succesful login
session optional pam_lastlog.so

Popularity: 10%

  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • PDF
  • Slashdot
  • Twitter

Опубликовано Четверг, 22-07-2010 в 18:21 в рубрики Общее. Вы можете оставить отслеживать комментарии к записи при помощи RSS 2.0 ленты. Вы можете оставить комментарий. Пинг запрещен.

Оставить комментарий