GNU/Linux >> Znalost Linux >  >> Linux

/etc/motd se nezobrazuje, když pojmenovaná roura?

Nechybí ti nic samozřejmého. Zapátral jsem ve zdroji pam_motd modul, abyste to zjistili.

Trik je v tom, že pam_motd provede následující s /etc/motd :

  1. Zkontrolujte velikost souboru.
  2. Přidělte vyrovnávací paměť této velikosti.
  3. Načtěte celý soubor do vyrovnávací paměti.
  4. Vydávejte vyrovnávací paměť prostřednictvím jakékoli používané výstupní metody. (PAM je koneckonců modulární; nelze předpokládat, že jde o terminál.)

Protože kanál nemá velikost souboru, v kroku 1 to selže.

UPRAVIT :Proč se PAM zajímá především o velikost? Představuji si, že to má zabránit odepření služby, ať už úmyslné nebo neúmyslné. Když PAM kontroluje velikost souboru, odmítne také vydat motd, pokud je soubor větší než 64 kB. Představuji si, že každý, kdo by se pokusil přihlásit do systému, by byl velmi smutný, kdyby se někomu podařilo přenést soubor s filmem na DVD například do /etc/motd – nemluvě o tom, kolik paměti to může zabrat.


Tento odkaz vás provede všemi základními kroky


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Jak se aktualizuje /etc/motd?

  3. CentOS/RHEL:Přípojný bod /tmp se po přidání do /etc/fstab nepřipojí automaticky

  1. Ukázkový soubor /etc/mke2fs.conf

  2. Zakázat zpětnou vazbu při zadávání hesla při výzvě sudo

  3. find:Zjištěna smyčka souborového systému

  1. Symbolický odkaz při změně uživatele nefunguje podle očekávání?

  2. Jaký je limit velikosti /etc/hosts?

  3. Rozdíl mezi /etc/hosts a /etc/resolv.conf