/ Etc / motd कैसे अपडेट किया जाता है?


58

मैं सोच रहा था कि कैसे / etc / motd अपने आप अपडेट हो जाता है (मैं Ubuntu 10.04, सर्वर संस्करण पर हूँ)। मुझे एक वेब खोज के माध्यम से अपडेट-मोटर्ड मैनपेज मिला, लेकिन वह प्रोग्राम मेरी मशीन पर स्थापित नहीं है। हालाँकि / 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

मैं Ubuntu 14.04 LTS पर / etc / motd नहीं हूँ। अब फ़ाइलें /var/run/motd.dynamic और /run/motd.dynamic हैं जो हार्ड लिंक हैं। यदि आप hushed लॉगिन नहीं करते हैं तो 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/
पीट

@ जांच करें, मैंने उस आदेश की कोशिश की, और यद्यपि इसने प्रासंगिक जानकारी को मुद्रित किया, लेकिन इससे वास्तव में पाठ में परिवर्तन नहीं हुआ /etc/motd। क्या यह अपेक्षित है?
Snapfractalpop

5
@snapfractalpop, क्षमा करें, मैं गलत था। आप डिबगिंग के लिए रन-पार्ट्स का उपयोग कर सकते हैं, यह थूक देगा कि परिणामी गति क्या होगी यदि आप इसके अतिरिक्त जोड़ रहे हैं /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
अपनी मशीन पर लॉगिन को गति देने के लिए, मैंने लिबपाम-मोटड से अपडेट-मोटड पर स्विच किया। अपडेट-मोटर्ड लॉगिन पर अपडेट को ट्रिगर करने के बजाय क्रोनजॉब का उपयोग करता है। sudo apt-get remove libpam-motd; sudo apt-get install update-motd
xer0x

11

उपरोक्त स्वीकृत उत्तर सही है, हालाँकि अधूरा है। मुझे उम्मीद है कि यह ओपी के लिए थोड़ा और जानकारी प्रदान करता है।

मूल रूप से, एक ताजा स्थापित करने पर, तीन स्थानों से मोटिव उत्पन्न होता है:

  1. /Etc/update-motd.d/ में स्क्रिप्ट
  2. संकलित बायनेरी /etc/pam.d/login द्वारा नियंत्रित
  3. / Etc / कानूनी फ़ाइल

नंबर 3 में आपके motd के अंत में टेक्स्ट के ब्लॉक को संदर्भित किया गया है जिसमें "Ubuntu में ABSOLUTELY NO WARRANTY ..." शामिल है, जो कि / etc / कानूनी फ़ाइल है। हालाँकि आपको /etc/update-motd.d/ के अंतर्गत कुछ भी नहीं मिलेगा, जिसमें इसका उल्लेख है, और न ही "कानूनी" शब्द कहीं भी /etc/pam.d/login फ़ाइल में दिखाई नहीं देता है। यह शामिल किया गया है अस्पष्ट बना दिया गया है और मुझे वास्तव में नहीं पता है कि यह कैसे हो जाता है। मेरा मतलब है कि मुझे पता है कि वहाँ एक {$ HOME} /। Cache / motd.legal- प्रदर्शित है, लेकिन मुझे नहीं पता कि यह कहाँ (या तो) से आता है।

Pam.d / लॉगिन फ़ाइल लंबित ईमेल की सूचना के लिए ज़िम्मेदार है, हालाँकि यह अस्पष्ट नहीं है। फ़ाइल में "सक्सेज़फुल लॉगिन पर उपयोगकर्ता के मेलबॉक्स की स्थिति प्रिंट" का वर्णन करने वाली एक अच्छी टिप्पणी है। मुझे तकनीकी रूप से लगता है कि वास्तव में यह मोटिव का हिस्सा नहीं है, लेकिन यह लॉगिन पर दिखाता है और यदि आप नए हैं तो ठीक भेद की सराहना नहीं हो सकती है।

14.04 की एक ताजा स्थापना पर कोई / etc / motd फ़ाइल नहीं है। यदि आप एक बनाते हैं (या motd.static और symlink को motd बनाते हैं) तो उस फाइल की सामग्री को अपडेट-motd.d स्क्रिप्ट द्वारा उत्पन्न टेक्स्ट से जोड़ दिया जाएगा लेकिन / etc / कानूनी की सामग्री दिखना बंद हो जाएगी। जाओ पता लगाओ। ईमेल सूचना अभी भी दिखाई देती है इसलिए यह pam.d / लॉगिन स्क्रिप्ट को बाधित नहीं करती है इसलिए मुझे संदेह है / आदि / कानूनी को वहां से खींचा जा रहा है। इसकी सोर्सिंग पाठक के लिए एक रहस्य बनी हुई है। मैंने देखा है कि जब मैं / etc / motd लिंक (या फ़ाइल) को हटाता हूं तो कानूनी अस्वीकरण तुरंत वापस नहीं आता है। इसमें कुछ मिनट लगते हैं। मैं लगातार डिस्क्लेमर नहीं देखना चाहता था इसलिए मैंने उस फाइल से टेक्स्ट डिलीट कर दिया।

चीयर्स।


1
ओह, मैं एक हिस्सा भूल गया। यदि आप अपनी मशीन को ssh के माध्यम से एक्सेस कर रहे हैं तो "PrintLastLog" की / etc / ssh / sshd_config फ़ाइल में एक सेटिंग भी है। यही "अंतिम लॉगिन: ..." लाइन को नियंत्रित करता है, जो एक सफल लॉगिन के बाद प्रिंट करने के लिए आखिरी चीज है। इसे "नहीं" पर सेट करने से लाइन दूर नहीं जाएगी, बस अंतिम सफल ssh कनेक्शन का आईपी पता छिपाएं। फिर से, तकनीकी रूप से motd का हिस्सा नहीं है, लेकिन फिर भी darn कानूनी अस्वीकरण नहीं है और यह दिखाता रहता है।
डेविड कुहल

10

डेविड कुहल के जवाब पर थोड़ा विस्तार करने के लिए :

उबंटू सर्वर 14.04.1 एलटीएस की एक ताजा स्थापना स्पष्ट रूप से लैंडस्केप-कॉमन और न ही अपडेट-नोटिफ़ायर-कॉमन पैकेज स्थापित नहीं करती है। इस प्रकार निम्नलिखित स्क्रिप्ट स्थापित नहीं हैं:

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

इस प्रकार, 12.04 LTS से माइग्रेट किए गए सर्वर से उपलब्ध ssh लॉगिन जानकारी के सभी को उपरोक्त पैकेजों को मैन्युअल रूप से स्थापित करना होगा:

sudo apt-get install landscape-common update-notifier-common
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.