/ Etc / सिक्योरिटी में प्रविष्टियों का प्रभाव


19

RHEL 5.5 पर डिफ़ॉल्ट रूप से मेरे पास है

[deuberger@saleen trunk]$ sudo cat /etc/securetty 
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11

प्रत्येक प्रविष्टि प्रकार (कंसोल, vc / , और tty ) के बीच अंतर क्या है । विशेष रूप से, प्रत्येक प्रविष्टि प्रकार को जोड़ने और हटाने का अंतिम परिणाम क्या है?

मेरी समझ यह है कि वे प्रभावित कर सकते हैं कि आप कैसे और कब लॉगिन कर सकते हैं, लेकिन क्या कोई अन्य प्रभाव हैं? और कब और कौन सी प्रविष्टियाँ हैं, इसके आधार पर आप कब और क्या लॉगिन नहीं कर सकते हैं?

EDIT 1 मुझे क्या पता है कि 1-6 के अनुरूप है कि क्या आप CTRL-ALT-F6 के माध्यम से CTRL-ALT-F1 का उपयोग करके पहले 6 कंसोल से लॉग इन कर सकते हैं। मुझे हमेशा लगता था कि वे वर्चुअल कंसोल हैं, इसलिए मैं थोड़ा उलझन में हूं। और क्या कंसोल भी अनुरूप है? धन्यवाद।

EDIT 2 एकल उपयोगकर्ता मोड में कोई भी प्रभाव क्या है?

जवाबों:


34

/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 पर आधारित है। इसका अधिकांश भाग अन्य * निक्स प्रणालियों के वर्तमान वितरण से संबंधित होगा, लेकिन कुछ मतभेद हैं, जिनमें से कुछ मैंने नोट किए, लेकिन सभी नहीं।

मैंने स्वयं इसका उत्तर दिया क्योंकि अन्य उत्तर अधूरे और / या गलत थे। कई अन्य मंचों, ब्लॉगों आदि पर ऑनलाइन इस विषय में गलत और अधूरी जानकारी है, इसलिए मैंने सही विवरण प्राप्त करने के लिए गहन शोध और परीक्षण किया है। अगर मैंने कुछ भी गलत कहा है, तो कृपया मुझे बताएं।

सूत्रों का कहना है:


ऐसी गहराई में प्रतिक्रिया करने के लिए समय निकालने के लिए +1। मुझे यकीन नहीं है कि यहां कोई स्वीकृत जवाब क्यों नहीं है। ऐसा लगता है जैसे आपने ओपी के प्रश्न का उत्तर दिया है। मुझे @ एलेक्सियो टिप्पणी पसंद है, "vc / X और ttyX पर्यायवाची हैं [ous] ..."
harperville

डेबियन ने हाल ही में हटा दिया / आदि / सुरक्षित। इसे अप्रचलित माना जाता है, और यकीनन यह मूल्य से अधिक परेशानी है। इसका उपयोग टेलनेट और रागिन के लिए किया गया था, लेकिन कुछ कंटेनर लॉगिन को काम करने के लिए, कुछ सिस्टम पर "pts / 0" जैसे स्यूडोटर्मिनल जोड़े जाते हैं, जो इसके मूल उद्देश्य को हरा देता है। यदि आपको उपकरणों के एक विशिष्ट सेट में रूट लॉगिन को प्रतिबंधित करने की आवश्यकता है, तो अधिक विश्वसनीय तंत्र हैं। Bugs.debian.org/731656
dlitz

4

vc/Xऔर ttyXसमानार्थक हैं: समान उपकरणों के लिए अलग-अलग पथ। अतिरेक का बिंदु विभिन्न मामलों को पकड़ना है ताकि आपको बाहर न निकाला जाए।

परंपरागत रूप से, login(और संभवतः getty, मैं निश्चित रूप से याद नहीं कर सकता) अनलिस्टेड टर्मिनलों पर लॉगिन की जांच /etc/securettyऔर इनकार करेगा root। आधुनिक प्रणालियों पर, ऐसा करने के अन्य तरीके और अन्य सुरक्षा उपाय भी हैं। की सामग्री की जाँच करें /etc/login.defs(जो securettyकि securetty(5)मैनपावर की कार्यक्षमता को भी कवर करती है और मैनपेज द्वारा अनुशंसित है ), और भी /etc/pam.d/login, जहाँ आप इस सुविधा के व्यवहार को नियंत्रित कर सकते हैं।

चूँकि securettyकेवल इसकी जाँच की जाती है login, इसलिए इसमें प्रवेश करने के साधनों का उपयोग नहीं किया जाता है login(जैसे SSH के साथ use_login=no, X प्रदर्शन प्रबंधक, आदि) प्रभावित नहीं होते हैं।


यह ध्यान देने योग्य है कि ऑन- busyboxसिस्टम सिस्टम यह अभी भी सरल तथ्य के लिए उपयोग हो सकता है कि इसका loginकोई /etc/login.defsसमर्थन नहीं है ।
phk
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.