Как настроить сообщение дня в Ubuntu
Кратко
Это руководство объясняет, как редактировать Message of the Day (MOTD) в Ubuntu: добавить статическое сообщение, убрать ненужные разделы и вставлять динамическую информацию с помощью скриптов. Также показаны лучшие практики безопасности, контроль прав и примеры скриптов.
Важно: MOTD показывается при входе в текстовый сеанс и при удалённом входе по SSH; графический вход обычно сообщение не отображает.
Быстрые ссылки
- The Default Message of the Day
- Adding a Custom Message
- Removing Information
- Adding Dynamic Information

Что такое MOTD
MOTD — это текст, который система показывает пользователю при входе в терминал. Он может содержать статические сообщения, динамические данные (например, обновления или статус системы) и любую информацию, которую вы хотите доносить до пользователей при каждом входе.
Краткое определение терминов:
- MOTD: Message of the Day, сообщение, выводимое при входе.
- pam_motd: PAM-модуль, который запускает скрипты для формирования MOTD.
- /etc/update-motd.d: каталог со сценариями, которые генерируют части MOTD.
- /etc/motd.tail: файл для добавления статического текста в конец MOTD.
Стандартное поведение MOTD
MOTD появляется при входе в Ubuntu в текстовом режиме. Если вы используете графическую среду, откройте виртуальный терминал сочетанием Ctrl+Alt+F1 (вернуться к графике можно с Ctrl+Alt+F7; Ctrl+Alt+F2..F6 — другие терминалы).

По умолчанию Ubuntu собирает MOTD динамически: при входе pam_motd последовательно выполняет исполняемые скрипты из /etc/update-motd.d и объединяет их вывод. В результате вы видите сведения о версии системы, уведомления об обновлениях и лицензионные сообщения.

Добавление собственного статического сообщения
Вы не редактируете напрямую /etc/motd, так как MOTD генерируется динамически. Для добавления статического текста используйте файл /etc/motd.tail — его содержимое добавляется в конец формируемого MOTD.
Откройте файл в текстовом редакторе (приведены примеры для Nano):
sudo nano /etc/motd.tail
Файл по умолчанию пуст. Добавьте строку или ASCII‑арт, затем сохраните Ctrl+O и выйдите Ctrl+X. В следующий раз при входе пользователи увидят ваш текст.

Чтобы моментально проверить изменения, выйдите из терминала командой:
exitи войдите снова.

Удаление или отключение разделов MOTD
Каждый блок MOTD формируется отдельным скриптом в /etc/update-motd.d. Список файлов в каталоге можно посмотреть через автодополнение в терминале:
ls -l /etc/update-motd.d
Скрипты исполняются в числовом порядке; префикс числа определяет позицию блока в итоговом сообщении. Чтобы убрать вывод конкретного скрипта, сделайте его неисполняемым, сняв бит выполнения:
sudo chmod -x /etc/update-motd.d/10-help-text
После следующего входа соответствующий раздел исчезнет из MOTD.

Совет: вместо удаления прав можно переименовать файл, поставив перед числом букву, или создать резервную копию скрипта в другом каталоге.
Добавление динамической информации: пример с погодой
Вы также можете писать собственные скрипты, которые выводят динамические данные и включаются в MOTD. В качестве простого примера используем пакет weather-util, который печатает прогноз.
Установите пакет:
sudo apt-get install weather-util
Получите ваш код ICAO (или местный код) на сайте с базой метеостанций, затем протестируйте команду вручную:
weather -i CODE
Создайте новый скрипт в каталоге /etc/update-motd.d и откройте его в редакторе:
sudo nano /etc/update-motd.d/98-weatherВставьте в файл следующий минимальный скрипт, заменив CODE на вашу метеостанцию:
#!/bin/sh
weather -i CODE
echoСохраните файл и сделайте его исполняемым:
sudo chmod +x /etc/update-motd.d/98-weather
Теперь при входе пользователи увидят текущий прогноз. Вместо weather-util вы можете вызывать любую консольную программу или собственный скрипт, который печатает текст.

Когда это не сработает
- MOTD не показывается при входе через некоторые графические диспетчеры и окружения рабочего стола. В таких случаях сообщение может быть скрыто системой входа.
- Если pam_motd отключён в конфигурации PAM, скрипты не выполнятся.
- Если скрипт в /etc/update-motd.d длительно выполняется или требует сетевых подключений, генерация MOTD может задерживаться или прерываться.
Альтернативные подходы
- Редактировать /etc/motd напрямую — не рекомендуется, так как обновления системы могут перезаписывать файл и динамические скрипты окажутся неактивны.
- Использовать systemd или cron для генерации отдельного файла /etc/motd.custom и добавлять его содержимое в /etc/motd.tail через периодические задачи.
- Разделять статические и динамические части: статическое в /etc/motd.tail, динамическое через /etc/update-motd.d.
Ментальные модели и правила принятия решений
- Правило простоты: для статических уведомлений достаточно motd.tail. Для периодической динамики — скрипт в update-motd.d.
- Минимизация времени исполнения: скрипты в update-motd.d должны завершаться быстро. Если нужна длительная обработка, генерируйте кэш заранее и выводите его мгновенно.
- Безопасность по умолчанию: скрипты должны принадлежать root и иметь ограниченные права исполнения.
Мини-методика внедрения MOTD в организации
- Определите содержание: уведомления об обновлениях, политики, контакты, статус инфраструктуры.
- Разделите контент на статический и динамический.
- Напишите скрипты, протестируйте локально, проверьте время исполнения.
- Настройте права: владелец root, права 755 или 744 (запрет записи для других).
- Документируйте изменения и создайте резервные копии оригинальных скриптов.
Чек-лист по ролям
Администратор:
- проверить /etc/update-motd.d на ненужные скрипты
- задать /etc/motd.tail для общих объявлений
- обеспечить права и принадлежность файлов
Разработчик/DevOps:
- написать лёгкие и быстрые скрипты
- избегать откровенных вызовов сетевых ресурсов без таймаута
- логировать ошибки в отдельный лог, а не в MOTD
Оператор поддержки:
- знать процедуру отката: вернуть права исполнения или восстановить резервную копию
- проверять MOTD после обновлений пакетов
Сниппеты и шпаргалка
Просмотреть каталог скриптов:
ls -la /etc/update-motd.dОтключить скрипт:
sudo chmod -x /etc/update-motd.d/XX-nameДобавить статическое сообщение:
sudo nano /etc/motd.tailПример простого скрипта, возвращающего статус сервиса:
#!/bin/sh
if systemctl is-active --quiet myservice; then
echo 'myservice: running'
else
echo 'myservice: stopped'
fi
echoКритерии приёмки скрипта:
- вывод не занимает более 1 секунды в нормальных условиях;
- скрипт завершает работу даже при отсутствии сети;
- нет вывода секретов или чувствительной информации;
- владелец root, права не превышают 755.
Безопасность и приватность
- Никогда не выводите секреты, ключи или пароли в MOTD.
- Ограничьте права на скрипты и файлы MOTD: владелец root; права 644 для файлов, 755 для исполняемых скриптов.
- Если скрипт вызывает внешние команды, валидируйте и экранируйте их аргументы.
- Для организаций с политикой конфиденциальности убедитесь, что MOTD не раскрывает персональные данные пользователей или другую чувствительную информацию.
Резервирование и откат
- Перед изменениями создайте резервную копию каталога update-motd.d:
sudo cp -a /etc/update-motd.d /root/backup-update-motd.d-$(date +%F)- Чтобы откатить изменения, восстановите файлы и права из резервной копии и перезапустите сессии.
Когда использовать другие инструменты
- Если вы управляете большим парком серверов, рассмотрите конфигурационные менеджеры (Ansible, Puppet, Chef) для распространения изменений MOTD.
- Для сложных динамических панелей состояния лучше использовать отдельный dash/monitoring и ссылаться на него в MOTD, а не пытаться вывести всю информацию через скрипты входа.
Критерии приёмки
- Пользователь видит ожидаемый статический текст из /etc/motd.tail.
- Отключённые скрипты не отображают своё содержимое после входа.
- Динамические скрипты выводят валидный текст и завершаются быстро.
- Ни одно сообщение не раскрывает секреты или PII.
Итог
Настройка MOTD в Ubuntu даёт простой и эффективный канал оповещений для пользователей при входе в систему. Используйте /etc/motd.tail для постоянных объявлений и /etc/update-motd.d для динамических блоков. Всегда контролируйте права доступа и избегайте вывода конфиденциальной информации.
Краткий список действий:
- прописать статический текст в /etc/motd.tail;
- отключить ненужные скрипты через chmod -x;
- добавлять динамику через скрипты в /etc/update-motd.d с правами root и быстрым временем выполнения;
- задокументировать и создать резервные копии перед изменениями.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента