उपयोगकर्ता द्वारा लॉग इन करने के बाद bash शेल में संदेश दिखाने के विभिन्न तरीके क्या हो सकते हैं?


14

मैं अपने खोल के रूप में बैश का उपयोग कर एक CentOS 5.7 VPS है जो SSH के माध्यम से प्रवेश करने के तुरंत बाद एक ब्रांडेड ग्रीटिंग प्रदर्शित करता है। मैं इसे संशोधित करने की कोशिश कर रहा हूं, लेकिन यह पता नहीं लगा सकता कि यह सामान्य जगहों पर कहां है। अब तक मैंने motdफ़ाइल में देखा है और sshd_configबैनर फ़ाइल सेटिंग्स के लिए जाँच की है । एक बैनर फ़ाइल सेट नहीं है।

मैं और कहां देख सकता हूं कि लॉगिन संदेश कहां हो सकता है?


1
आप एक पुनरावर्ती की कोशिश कर सकते grepमें /etcसंदेश के कुछ सबसेट के लिए।
केविन

@ केविन रुको, क्या तुम मुझे ट्विटर पर फॉलो कर रहे हो? मैंने सिर्फ यह कहा कि मैं कुछ खोजने के लिए grep -r का उपयोग कर रहा था। सिवाय मैं एक कामचोर हूँ और / =) पर शुरू करने का फैसला किया
Wesley

मैंने भी शुरू कर दिया /है, 1TB डिस्क पर हमेशा के लिए ले जाता है, मैं आपको बता दूं ... लेकिन मैं ट्विटर पर कभी नहीं गया हूं :)
केविन

@WesleyDavid क्या आप स्क्रीनशॉट पोस्ट कर सकते हैं?
कार्लसन

जवाबों:


22

/etc/motdउपयोगकर्ता के सफलतापूर्वक प्रमाणित होने के बाद और उपयोगकर्ता के शेल को लागू करने से पहले पारंपरिक यूनिक्स सिस्टम प्रदर्शित होते हैं । आधुनिक सिस्टम पर, इस के द्वारा किया जाता pam_motdपीएएम मॉड्यूल है, जो में विन्यस्त किया जा सकता है /etc/pam.confया /etc/pam.d/*किसी भिन्न फ़ाइल प्रदर्शित करने के लिए।

/etc/motdयदि PrintMotdविकल्प बंद नहीं किया जाता है , तो ssh सर्वर को प्रिंट करने के लिए कॉन्फ़िगर किया जा सकता है /etc/sshd_configPrintLastLogबंद नहीं होने पर यह पिछले लॉगिन का समय भी प्रिंट कर सकता है।

एक और पारंपरिक संदेश आपको बता सकता है कि क्या You have new mailया You have mail। PAM वाले सिस्टम पर, यह pam_mailमॉड्यूल द्वारा किया जाता है । कुछ शेल उपलब्ध मेल के बारे में संदेश प्रिंट कर सकते हैं।

उपयोगकर्ता के शेल लॉन्च होने के बाद, उपयोगकर्ता की स्टार्टअप फाइलें अतिरिक्त संदेश प्रिंट कर सकती हैं। एक इंटरैक्टिव लॉगिन के लिए, यदि उपयोगकर्ता के प्रवेश खोल एक बॉर्न शैली खोल है, में देखने के लिए /etc/profile, ~/.profileके अलावा ~/.bash_profileऔर ~/.bash_loginपार्टी के लिए। Zsh के लिए एक इंटरैक्टिव लॉगिन, में देखने के लिए /etc/zprofile, /etc/zlogin, /etc/zshrc, ~/.zprofile, ~/.zloginऔर ~/.zshrc। एक इंटरैक्टिव लॉगिन csh के लिए, में देखें /etc/csh.loginऔर ~/.login

यदि उपयोगकर्ता का लॉगिन शेल बैश है और यह एक गैर-संवादात्मक लॉगिन है, तो बैश निष्पादित करता है ~/.bashrc(जो वास्तव में विषम है, चूंकि ~/.bashrcइंटरैक्टिव गोले के लिए केवल तभी निष्पादित किया जाता है यदि शेल लॉगिन शेल नहीं है)। यह परेशानी का स्रोत हो सकता है; मैं निम्नलिखित स्निपेट सहित ~/.bashrcजमानत के शीर्ष पर सलाह देता हूं कि क्या शेल इंटरैक्टिव नहीं है:

if [[ $- != *i* ]]; then return; fi

यह मेरे .bash_profile में इको की एक श्रृंखला थी। > _ <यह सवाल मूल के प्रति असंगत है, लेकिन: .bash_profile में चीजों को गूंजना एक संदेश भेजने के खराब तरीके की तरह नहीं लगता है? शायद यह बेहतर है यदि आप केवल एकल उपयोगकर्ता को संदेश भेजना चाहते हैं। यह, सब के बाद, रूट खाता है। तो फिर, मैं एक noob हूँ तो मैं बहुत गंभीर रूप से चीजों का न्याय करने की स्थिति में नहीं हूँ।
वेस्ले

@EsleyDavid .bash_profileकेवल किसी चीज को प्रतिध्वनित करके अपने आप को एक संदेश भेजता है। जब वे लॉग इन करते हैं तो कुछ लोग उपयोगी या मजाकिया संदेश देखना पसंद करते हैं। मैं आपके सिस्टम के रूट खाते के लिए नहीं बोल सकता क्योंकि मुझे पता है कि न तो संदेश की सामग्री और न ही लोगों और सेटिंग शामिल है।
गिलेस एसओ- बुराई को रोकना '

मेक ओएस एक्स पर / etc / motd में एक संदेश डालना, जो मुझे चाहिए। उसके लिए धन्यवाद।
dgig

8

कुछ और है:

/etc/motd
/etc/issue
/etc/profile - Could echo the message
/etc/profile.d/* - Would be called from /etc/profile

इसके अतिरिक्त

/etc/bash_bashrc
/etc/.bashrc
/etc/bashrc
$HOME/.profile
$HOME/.bashrc

आपको हर उस प्रोग्राम से भी गुजरना पड़ सकता है जिसे उन स्क्रिप्ट्स से पुकारा जा रहा है क्योंकि ऐसा कुछ fortuneहो सकता है कि उसमें प्रदर्शित होने वाले क्विज़ को स्टोर किया जा सके /usr/share। इसे अलग करने के लिए आप यह कर सकते हैं:

. /etc/profile
. /etc/bash.bashrc
. $HOME/.profile
. $HOME/.bashrc

उबंटू में भी फाइल है:

/etc/motd.tail

1
/etc/issueउपयोगकर्ता द्वारा लॉग इन करने से पहले पारंपरिक रूप से दिखाया गया है, के बाद नहीं।
क्रिस डाउन

धन्यवाद! के बारे में पता नहीं था profileऔर profile.d। काश, आपके सभी सुझावों में से कुछ भी नहीं बदला। मैं सोच रहा हूँ कि क्या कुछ कस्टम बैश बाइनरी में संकलित है ...?
वेस्ले

@ChrisDown राइट लेकिन मुझे किसी भी सिस्टम के बारे में पता नहीं है जो प्रॉम्प्ट प्रदर्शित होने के बाद स्क्रीन पर कुछ भी डाल रहा होगा।
कार्लसन

@WesleyDavid मैंने उत्तर में संशोधन किया है।
कार्लसन

इतनी सारी जानकारी के लिए धन्यवाद! इसने मुझे विभिन्न तरीकों से सीखने के तरीके में बहुत कुछ दिया है जो गोले TTY सत्रों की जानकारी भेज सकते हैं। =)
वेस्ले

3

नए सिस्टम, MOTD घटकों को स्टोर करते हैं /etc/update-motd.dताकि विभिन्न मैक्रो को अपडेट जानकारी, सिस्टम अलर्ट आदि लॉगिन पर दिखाने के लिए motd को अनुकूलित करने के लिए चलाया जा सके।

अपने अनुकूलन से प्राथमिकता के साथ एक और फ़ाइल के रूप में 00करने के लिए99

99-footerआमतौर पर लोड होता है /etc/motd.tailअगर इसे अंत में निपटाना पर्याप्त होता है और आप किसी भी मैक्रो आइटम का उपयोग नहीं करना चाहते हैं।


1

आप देख सकते हैं /etc/shell, कि जहां मुझे एक संदेश मिला था जिसे मैं बदलने की कोशिश कर रहा था। यह "#" के साथ टिप्पणी करने के लिए काम नहीं करता है आपको बस किसी भी पाठ को हटाना होगा और अपना खुद का जोड़ना होगा। जैसे ही आप उन्हें फ़ाइल में रखते हैं, स्पेस और नई लाइनें दिखाई देंगी।

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