/ etc / motd อัพเดทอย่างไร?


58

ฉันสงสัยว่า / etc / motd ได้รับการอัปเดตโดยอัตโนมัติอย่างไร (ฉันใช้ Ubuntu 10.04 รุ่นเซิร์ฟเวอร์) ฉันพบ manpage update-motd ผ่านการค้นหาเว็บ แต่โปรแกรมนั้นไม่ได้ติดตั้งไว้ในเครื่องของฉัน อย่างไรก็ตามไฟล์ / etc / motd ได้รับการอัพเดทเป็นประจำ ฉันไม่รู้ว่าบ่อยแค่ไหนและอย่างไร เมื่อทำ a 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 ได้รับการอัพเดตถ้าคุณไม่ทำการล็อกอินแบบเงียบ ในกรณีนี้คุณจะเห็นเนื้อหาที่สร้างขึ้นล่าสุดเมื่อผู้ใช้เข้าสู่ระบบในโหมด "ไม่เงียบ"
randominstanceOfLivingThing

คำตอบ:


57

มันมีการปรับปรุงโดยpam_motdในการเข้าสู่ระบบ ปรับปรุง 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

@ Pet ฉันลองคำสั่งนั้นแล้วถึงแม้ว่ามันจะพิมพ์ข้อมูลที่เกี่ยวข้องออกไป แต่ก็ไม่ได้เปลี่ยนข้อความ/etc/motdจริงๆ คาดหวังหรือไม่
snapfractalpop

5
@snapfractalpop ขอโทษทีฉันผิด คุณสามารถใช้ทำงานชิ้นส่วนสำหรับการแก้จุดบกพร่องก็จะคายสิ่งที่ motd /etc/update-motd.dผลลัพธ์จะเป็นอย่างไรถ้าคุณกำลังทำเพิ่มเติม เท่าที่ฉันจะบอกได้วิธีเดียวที่จะอัปเดตไฟล์ได้คือการเรียกใช้ pam_motd ในระบบของฉันดูเหมือนว่าจะเป็นบริการเข้าสู่ระบบและ sshd ( grep pam_motd /etc/pam.d/*)
Pete

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

คำตอบที่ยอมรับข้างต้นถูกต้อง แต่ไม่สมบูรณ์ ฉันหวังว่านี่จะให้ข้อมูลเพิ่มเติมสำหรับ OP

โดยพื้นฐานแล้วในการติดตั้งใหม่ motd ถูกสร้างขึ้นจากสามแห่ง:

  1. สคริปต์ใน /etc/update-motd.d/
  2. ไบนารีที่คอมไพล์แล้วควบคุมโดย /etc/pam.d/login
  3. ไฟล์ / etc / legal

จำนวน 3 หมายถึงมีบล็อกของข้อความในตอนท้ายของ motd ของคุณที่มี "อูบุนตูมาพร้อมกับการรับประกันอย่าง NO ..." ที่เป็น/ etc / ทางกฎหมายไฟล์ อย่างไรก็ตามคุณจะไม่พบสิ่งใดภายใต้ /etc/update-motd.d/ ที่กล่าวถึงและไม่มีคำว่า "ถูกกฎหมาย" ปรากฏขึ้นที่ใดก็ได้ในไฟล์ /etc/pam.d/login มันเป็นการรวมที่คลุมเครือและฉันไม่รู้ว่ามันเข้ามาได้อย่างไร ฉันหมายถึงฉันรู้ว่ามี {$ HOME} /. cache / motd.legal ปรากฏ แต่ฉันไม่รู้ว่ามาจากไหน (ยัง)

ไฟล์ pam.d / login มีหน้าที่แจ้งเตือนเมื่อมีอีเมลค้างอยู่ แต่ไม่ได้ปิดบัง มีความคิดเห็นที่ดีที่อธิบาย "พิมพ์สถานะของกล่องจดหมายของผู้ใช้เมื่อเข้าสู่ระบบที่ประสบความสำเร็จ" ที่นั่นในไฟล์ ฉันคิดว่าในทางเทคนิคที่ไม่ได้เป็นส่วนหนึ่งของ motd จริง ๆ แต่มันปรากฏขึ้นที่เข้าสู่ระบบและหากคุณใหม่ที่ความแตกต่างที่ดีอาจไม่ได้รับการชื่นชม

ในการติดตั้งใหม่ของ 14.04 ไม่มีไฟล์ / etc / 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 ที่สำเร็จครั้งล่าสุด อีกครั้งทางเทคนิคไม่ได้เป็นส่วนหนึ่งของ Motd แต่แล้วก็ไม่เป็นความรับผิดชอบตามกฎหมายยี้และมันจะปรากฏขึ้น
David Kuhl

10

หากต้องการขยายคำตอบของ David Kuhlเพียงเล็กน้อย:

การติดตั้งใหม่ของ 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.