/etc/securettyयह तय करने के लिए कि किस वर्चुअल टर्मिनल (ttyS) रूट से लॉगिन करने की अनुमति pam_securetty मॉड्यूल द्वारा ली गई है। अतीत में, /etc/securettyसीधे लॉगिन जैसे कार्यक्रमों से परामर्श किया जाता था, लेकिन अब PAM इसे संभालता है। इसलिए /etc/securettyPAM_securetty.so का उपयोग करने वाली कॉन्फ़िगरेशन फ़ाइल के साथ PAM का उपयोग करने से कुछ भी प्रभावित होता है। इसलिए, केवल लॉगिन प्रोग्राम डिफ़ॉल्ट रूप से प्रभावित होता है। /etc/pam.d/loginका उपयोग स्थानीय लॉगिन के लिए किया जाता है और /etc/pam.d/remoteइसका उपयोग दूरस्थ लॉगिन (जैसे टेलनेट) के लिए किया जाता है।
प्राथमिक प्रवेश प्रकार और उनके प्रभाव इस प्रकार हैं:
- यदि
/etc/securettyमौजूद नहीं है, तो रूट को किसी भी टेट से लॉगिन करने की अनुमति है
- यदि
/etc/securettyमौजूद है और खाली है, तो रूट एक्सेस एकल उपयोगकर्ता मोड या उन कार्यक्रमों तक सीमित रहेगा जो pam_securetty (यानी सु, सुडो, ssh, scp, sftp) द्वारा प्रतिबंधित नहीं हैं
- यदि आप devfs का उपयोग कर रहे हैं (हैंडलिंग / देव के लिए एक पदावनत फाइल सिस्टम), फॉर्म vc / [0-9] की प्रविष्टियों को जोड़कर * दिए गए वर्चुअल कंसोल नंबर से रूट लॉगिन की अनुमति देगा
- यदि आप udev (डायनेमिक डिवाइस प्रबंधन और devfs के प्रतिस्थापन के लिए) का उपयोग कर रहे हैं, तो प्रपत्र tty की प्रविष्टियाँ जोड़कर [0-9] * दिए गए वर्चुअल कंसोल नंबर से रूट लॉगिन की अनुमति देगा।
- सेफ़्टी में कंसोल को सूचीबद्ध करना, आमतौर पर वर्तमान कंसोल के लिए / dev / कंसोल पॉइंट्स के बाद से कोई प्रभाव नहीं होता है और सामान्य रूप से केवल एकल उपयोगकर्ता मोड में tty फ़ाइल नाम के रूप में उपयोग किया जाता है, जो अप्रभावित है
/etc/securetty
- pts / [0-9] जैसी प्रविष्टियाँ जोड़ने से उन प्रोग्रामों की अनुमति मिलेगी जो छद्म-टर्मिनलों (pty) और pam_securetty का उपयोग करके रूट में लॉगिन करने के लिए आवंटित pty को सूचीबद्ध मानते हैं; यह आम तौर पर इन प्रविष्टियों को शामिल नहीं करने का एक अच्छा विचार है क्योंकि यह एक सुरक्षा जोखिम है; उदाहरण के लिए, कोई व्यक्ति टेलनेट के माध्यम से रूट में प्रवेश करने की अनुमति देगा, जो सादा शब्द में पासवर्ड भेजता है (ध्यान दें कि pts / [0-9] * udev के लिए प्रारूप है जिसका उपयोग RHEL 5.5 में किया जाता है; यह अलग-अलग का उपयोग करने पर अलग होगा या उपकरण प्रबंधन के कुछ अन्य रूप)
एकल उपयोगकर्ता मोड के लिए, /etc/securettyपरामर्श नहीं किया जाता है क्योंकि लॉगिन के बजाय सलोगिन का उपयोग किया जाता है। अधिक जानकारी के लिए sulogin मैन पेज देखें। साथ ही आप /etc/inittabप्रत्येक रनवे के लिए उपयोग किए गए लॉगिन प्रोग्राम को बदल सकते हैं ।
ध्यान दें कि आपको /etc/securettyssh के माध्यम से रूट लॉगिन को नियंत्रित करने के लिए उपयोग नहीं करना चाहिए । ऐसा करने के लिए PermitRootLogin का मान बदलें /etc/ssh/sshd_config। डिफ़ॉल्ट रूप /etc/pam.d/sshdसे pam_securetty (और इसलिए /etc/securetty) से परामर्श करने के लिए कॉन्फ़िगर नहीं किया गया है । ऐसा करने के लिए आप एक पंक्ति जोड़ सकते हैं, लेकिन ssh वास्तविक चरण के कुछ समय बाद तक निर्धारित नहीं करता है, इसलिए यह अपेक्षा के अनुरूप काम नहीं करता है। ऑर्ट और खाता चरणों के दौरान - कम से कम ओपनश के लिए - tty (PAM_TTY) "ssh" को हार्डकोड किया गया है।
उपरोक्त उत्तर आरएचईएल 5.5 पर आधारित है। इसका अधिकांश भाग अन्य * निक्स प्रणालियों के वर्तमान वितरण से संबंधित होगा, लेकिन कुछ मतभेद हैं, जिनमें से कुछ मैंने नोट किए, लेकिन सभी नहीं।
मैंने स्वयं इसका उत्तर दिया क्योंकि अन्य उत्तर अधूरे और / या गलत थे। कई अन्य मंचों, ब्लॉगों आदि पर ऑनलाइन इस विषय में गलत और अधूरी जानकारी है, इसलिए मैंने सही विवरण प्राप्त करने के लिए गहन शोध और परीक्षण किया है। अगर मैंने कुछ भी गलत कहा है, तो कृपया मुझे बताएं।
सूत्रों का कहना है: