Як оновлено / etc / motd?


58

Мені було цікаво, як / etc / motd автоматично оновлюється (я перебуваю на Ubuntu 10.04, серверне видання). Я знайшов manpage-сторінку update-motd за допомогою веб-пошуку, але ця програма не встановлена ​​на моїй машині. Файл / etc / motd регулярно оновлюється. Я просто не знаю, як і як часто. Виконуючи locate motdнаступні файли:

/etc/motd
/etc/update-motd.d
/etc/update-motd.d/00-header
/etc/update-motd.d/10-help-text
/etc/update-motd.d/20-cpu-checker
/etc/update-motd.d/50-landscape-sysinfo
/etc/update-motd.d/90-updates-available
/etc/update-motd.d/91-release-upgrade
/etc/update-motd.d/98-reboot-required
/etc/update-motd.d/99-footer
/home/me/.cache/motd.legal-displayed
/lib/security/pam_motd.so
/usr/bin/motd+shell
/usr/lib/update-manager/release-upgrade-motd
/usr/lib/update-notifier/update-motd-cpu-checker
/usr/lib/update-notifier/update-motd-reboot-required
/usr/lib/update-notifier/update-motd-updates-available
/usr/share/base-files/motd.md5sums
/usr/share/man/man1/motd+shell.1.gz
/usr/share/man/man5/motd.5.gz
/usr/share/man/man5/motd.tail.5.gz
/usr/share/man/man5/update-motd.5.gz
/usr/share/man/man8/pam_motd.8.gz
/usr/share/ubuntu-serverguide/html/C/pam_motd.html

Я не є / etc / motd на Ubuntu 14.04 LTS. Файли зараз /var/run/motd.dynamic та /run/motd.dynamic, які міцно пов'язані. motd оновлюється, якщо ви не робите приглушений вхід. У цьому випадку ви побачите вміст, який створюється остаточно, коли користувач робить логін у режимі "без звуку".
випадкова речовинаOfLivingThing

Відповіді:


57

Він оновлюється при pam_motdвході в систему. Сторінка керівництва update-motd описує це:

   Ubuntu introduced the update-motd framework, by which  the  motd(5)  is
   dynamically assembled from a collection of scripts at login.

   Executable  scripts in /etc/update-motd.d/* are executed by pam_motd(8)
   as the root user at each login, and this information is concatenated in
   /var/run/motd.  The order of script execution is determined by the run-
   parts(8) --lsbsysinit option (basically alphabetical order, with a  few
   caveats).

   On   Ubuntu   systems,  /etc/motd  is  typically  a  symbolic  link  to
   /var/run/motd.

26
можна змуситиsudo run-parts /etc/update-motd.d/
Піт

@ Pete, я спробував цю команду, і хоча вона надрукувала відповідну інформацію, вона фактично не змінила текст у /etc/motd. Це очікується?
snapfractalpop

5
@snapfractalpop, Вибачте, я помилився. Ви можете використовувати запущені частини для налагодження, це виплюне, що буде в результаті motd, якщо ви вносите доповнення до /etc/update-motd.d. Наскільки я можу сказати, єдиний спосіб оновити файл - це запустити pam_motd. У моїй системі, мабуть, є логін служби та sshd ( grep pam_motd /etc/pam.d/*)
Піт

7
@snapfractalpop Так, це очікувано. Якщо ви хочете оновити результат /etc/motdпереспрямування там:run-parts /etc/update-motd.d/ | sudo tee /etc/motd
n.st

2
Щоб прискорити вхід на свою машину, я перейшов з libpam-motd на update-motd. Update-motd використовує cronjob замість запуску оновлення при вході в систему. sudo apt-get remove libpam-motd; sudo apt-get install update-motd
xer0x

11

Прийнята вище відповідь правильна, але неповна. Я сподіваюсь, що це дає трохи більше інформації для ОП.

В основному, при новому встановленні, motd генерується з трьох місць:

  1. Сценарії в /etc/update-motd.d/
  2. Скомпільовані двійкові файли, керовані /etc/pam.d/login
  3. / Etc / legal file

Номер 3 там відноситься до тексту тексту в кінці вашого магазину, який включає "Ubuntu поставляється з АБСОЛЮТНО НЕ ГАРАНТІЯ ...", це / etc / legal file. Однак під /etc/update-motd.d/ ви не знайдете нічого, що в ньому згадується, а також слово "legal" ніде у файлі /etc/pam.d/login не з’являється. Це включення було незрозумілим, і я справді не знаю, як він там потрапляє. Я маю на увазі, я знаю, що відображається {$ HOME} /. Cache / motd.legal, але я не знаю, звідки це (ще).

Файл pam.d / login несе відповідальність за повідомлення про очікування електронної пошти, однак це є неясним. Тут є хороший коментар із описом "Друкує статус поштової скриньки користувача при успішному вході" прямо у файл. Я припускаю, що технічно це насправді не є частиною товариства, але воно з’являється під час входу в систему, і якщо ви новачок, тонка розрізнення може не оцінитися.

На новій установці 14.04 там немає / і т.д. / файлу MOTD. Якщо ви створите його (або створите motd.static і посилаєте його на motd), вміст цього файлу буде доданий до тексту, створеного сценаріями update-motd.d, але вміст / etc / legal перестане відображатися. Піди розберися. Повідомлення електронною поштою все ще з’являється, тому це не перериває сценарій pam.d / login, тому я сумніваюся, що звідти витягується / etc / legal. Її пошук залишається таємницею для читача. Я помітив, що коли я видаляю посилання / etc / motd (або файл), юридична відмова не одразу повертається. Це займає кілька хвилин. Я не хотів постійно бачити відмову, тому я видалив текст із цього файлу.

Ура.


1
О, я забув одну частину. Якщо ви отримуєте доступ до своєї машини через ssh, у файлі / etc / ssh / sshd_config файлу "PrintLastLog" також є налаштування. Ось що контролює рядок "Останній вхід: ...", який є останнім, що слід надрукувати після успішного входу. Якщо встановити значення "ні", це не призведе до відмови лінії, просто прихойте IP-адресу останнього успішного ssh-з'єднання. Знову ж таки, з технічної точки зору це не технічно, але тоді жоден закон не відмовляється від відповідальності, і він продовжує проявлятися.
Девід Куль

10

Щоб трохи розширити відповідь Девіда Куля :

Свіжа інсталяція Ubuntu Server 14.04.1 LTS, мабуть, не встановлює загальновикористовувані пакети або пакети оновлень-сповіщувачів. Таким чином, такі сценарії не встановлені:

/etc/update-motd.d/50-landscape-sysinfo
/etc/update-motd.d/90-updates-available

Таким чином, щоб отримати всю інформацію про вхід в ssh, доступну з серверів, переміщених з 12.04 LTS, необхідно встановити вищевказані пакети вручну:

sudo apt-get install landscape-common update-notifier-common
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.