क्या / etc / motd में कमांड डालना संभव है?


14

क्या मैं /etc/motdलॉगिन बैनर फ़ाइल में शेल कमांड डाल सकता हूं ? मैंने कोशिश की है:

 $(uptime)

तथा

`uptime`

क्या यह संभव है?

जवाबों:


15

/etc/motd केवल पढ़ा और निष्पादित नहीं किया जाता है, इसलिए तकनीकी रूप से, आप शेल कमांड नहीं डाल सकते।

हालाँकि, लॉगिन समय पर शेल स्क्रिप्ट को निष्पादित करना संभव है जिसका परिणाम समान होगा। यह आमतौर पर उस /etc/profileस्क्रिप्ट को अपनाने के द्वारा प्राप्त किया जाता है जिसे हर बार उपयोगकर्ता लॉग इन करते समय निष्पादित किया जाता है। एक उपयोगी अभ्यास वह कमांड है जिसे आप निष्पादित करना चाहते हैं जिसका नाम स्क्रिप्ट है /etc/motd.shऔर इस स्क्रिप्ट को कॉल करें /etc/profile, आमतौर पर इसके बारे में।


3
/etc/motd.sh

1
@EricDANNIELOU हाँ, कोई भी स्क्रिप्ट नाम जो वह चाहता है / का उपयोग कर सकता है। मैंने सिर्फ आम विशेषण को हटा दिया जो उचित नहीं था। फिर भी, इस तरह से नाम रखने से यह पता लगाना आसान हो जाता है कि यह किस उद्देश्य से कार्य करता है।
टोनिन

1
नियमित रूप से स्थिर गति संदेश को बदलने के लिए क्रोन का उपयोग करने का एक तरीका प्रतीत होता है: md3v.com/create-a-linux-server-status-motd मुझे लगता है कि यह प्रोफाइल स्क्रिप्ट एक बेहतर तरीका है, कम चलती भागों लगता है।
CMCDragonkai

5
अपनी प्रोफाइल में एक MOTD की तरह आउटपुट डालने से Sftp के टूटने की संभावना है।
स्टुअर्ट पी। बेंटले

5
आप motd.shस्क्रिप्ट /etc/profile.d/को अनुमतियों के अंदर रख सकते हैं 755। इस तरह से आपको इसे कॉल करने की आवश्यकता नहीं होगी /etc/profile
इत्ते ग्रुदेव

8

में उबंटू सर्वर एक कार्यक्रम बुलाया है update-motdपैकेज से libpam-modules:

UNIX / Linux सिस्टम प्रशासक अक्सर फ़ाइल / etc / motd में पाठ बनाए रखकर कंसोल और दूरस्थ उपयोगकर्ताओं के लिए महत्वपूर्ण जानकारी का संचार करते हैं, जो इंटरैक्टिव शेल लॉगिन पर pam_motd (8) मॉड्यूल द्वारा प्रदर्शित किया जाता है।

परंपरागत रूप से, यह फ़ाइल स्थिर पाठ है, जिसे आम तौर पर वितरण द्वारा स्थापित किया जाता है और केवल रिलीज़ अपग्रेड पर अद्यतन किया जाता है, या स्थानीय व्यवस्थापक द्वारा प्रासंगिक जानकारी के साथ अधिलेखित किया जाता है।

उबंटू ने अद्यतन-प्रेरक रूपरेखा पेश की, जिसके द्वारा गति (5) को गतिशील रूप से लॉगिन पर स्क्रिप्ट के संग्रह से इकट्ठा किया जाता है।

स्क्रिप्ट का यह संग्रह के अंतर्गत रहता है /etc/update-motd.d/। अधिक जानकारी के लिए इस विकी पेज को देखें ।

उत्पन्न करने का एक अन्य विकल्प /etc/motd, लॉगिन पर स्क्रिप्ट चलाने के बजाय क्रोन जॉब करना है। निश्चित रूप से, यह समान नहीं है, लेकिन मैं अतीत में कभी-कभी इस दृष्टिकोण से मिला हूं। ध्यान दें कि इस दृष्टिकोण का भी उपयोग किया गया है update-motd, लेकिन समस्या का सामना करने के कारण इसे छोड़ दिया गया है। आप इसके बारे में कुछ और जानकारी यहाँ पा सकते हैं ।


1
संबंधित Askubuntu पोस्ट । के साथ बल sudo run-parts /etc/update-motd.d/
पाब्लो ए

1
यह स्टार्टअप लॉगिन लैग को भी कम करता है क्योंकि आपको लॉगिन पर स्क्रिप्ट का मूल्यांकन करने की आवश्यकता नहीं है (यह मानते हुए कि यह अधिक जटिल हो जाता है uptime)।
अयमान

0

के लिए Centos 7 सर्वर मैं अपने के बंदरगाह उपयोग करने का सुझाव update-motd.dउबंटू से।

अन्य समाधानों के विपरीत यह गतिशील MOTD वास्तव में केवल एक बार दिखाता है, जब आप SSH / एक कंसोल के माध्यम से लॉगिन करते हैं (अन्य समाधान यह दिखाते हैं कि जब आप नई screenखिड़कियां खोलते हैं, उदाहरण के लिए)।

इसे स्थापित करें:

yum install https://github.com/gdubicki/centos-pam-with-update-motd/releases/download/1.1.8-1022.3/pam-1.1.8-1022.el7.x86_64.rpm

साथ उपयोग:

  1. डिफ़ॉल्ट स्थैतिक हटाएँ /etc/motd
  2. मेक SSHD लाइनों के साथ स्थिर MOTD नहीं दिखा PrintMotd no, Banner none, UsePAM yes(और वैकल्पिक PrintLastLog no) अपने में /etc/ssh/sshd_configऔर पुनः लोड sshdसेवा।
  3. अपने को यह पंक्ति जोड़ें /etc/pam.d/sshd: session optional pam_motd.so motd=/run/motd.dynamic
  4. /etc/update-motd.dउबंटू की तरह अपनी स्क्रिप्ट जोड़ें

कृपया अधिक जानकारी के लिए https://github.com/gdubicki/centos-pam-with-update-motd देखें ।

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