आखिरी दिनों में मैंने LDAP प्रमाणीकरण के साथ कुछ लिनक्स सिस्टम स्थापित किया है और सब कुछ ठीक काम करता है, लेकिन अभी भी कुछ ऐसा है जिसे मैं वास्तव में एनएसएस और पीएएम के बारे में नहीं समझ सकता हूं, वह भी बहुत शोध के बाद।
हवाला देते हुए:
एनएसएस प्रशासकों को उन स्रोतों की एक सूची निर्दिष्ट करने की अनुमति देता है जहां प्रमाणीकरण फाइलें, होस्ट नाम और अन्य जानकारी संग्रहीत और खोजी जाएंगी
तथा
पीएएम पुस्तकालयों का एक समूह है जो अनुप्रयोगों और अंतर्निहित ऑपरेटिंग सिस्टम के लिए एक विन्यास योग्य प्रमाणीकरण मंच प्रदान करता है
मुझे समझ में नहीं आता कि PAM और NSS कैसे काम करते हैं और आपस में बातचीत करते हैं। में इस पुस्तक वास्तुकला बहुत अच्छी तरह से समझाया गया है: उपयोग करने के लिए मैं कॉन्फ़िगर पीएएम pam_ldapLDAP खातों के लिए और pam_unixस्थानीय खातों के लिए, तो मैं कॉन्फ़िगर nsswitch.confस्थानीय फ़ाइलों और एलडीएपी से जानकारी लाने के लिए।
अगर मैं सही तरीके से समझ गया हूं कि LDAP का उपयोग दो बार किया जाता है: पहले pam_ldapNSS द्वारा और फिर खुद से कहा जाता है pam_unix। क्या वह सही है? क्या LDAP का उपयोग वास्तव में दो बार किया गया है? लेकिन मुझे एनएसएस और पीएएम दोनों को कॉन्फ़िगर करने की आवश्यकता क्यों है? मेरी व्याख्या यह है कि पीएएम एनएसएस की तुलना में अलग-अलग कार्य करता है और इसका उपयोग अन्य कार्यक्रमों द्वारा किया जाता है। लेकिन, फिर, केवल एनएसएस या केवल पीएएम का उपयोग करना संभव होना चाहिए, जैसा कि मैंने इस पृष्ठ में पढ़ा है ।
इसलिए मैंने थोड़ा प्रयोग किया और मैंने सबसे पहले LDAP को हटाने की कोशिश की nsswitch.conf(और प्रमाणीकरण काम करना बंद कर दिया जैसे कि केवल pam_ldap काम करने के लिए पर्याप्त नहीं है )। फिर मैंने एनएसएस में एलडीएपी को फिर से सक्षम किया और मैंने इसे पीएएम कॉन्फ़िगरेशन से हटा दिया (इस बार सब कुछ ठीक काम किया, जैसे कि pam_ldapबेकार है और एनएसएस एक उपयोगकर्ता को प्रमाणित करने के लिए पर्याप्त है)।
क्या कोई है जो मुझे यह स्पष्ट करने में मदद कर सकता है? अग्रिम में बहुत धन्यवाद।
अपडेट करें
मैंने अभी कुछ कोशिश की है। मैंने pam_ldapसभी पैम कॉन्फ़िगरेशन फ़ील्ड में सभी प्रविष्टियों को फिर से हटा दिया और मुझे भी हटा दिया shadow: ldapहै nsswitch.conf। जैसा कि अब सभी प्रणाली में हैं केवल लाइनें हैं: passwd: ldap filesऔर group: ldap filesअंदर nsswitch.conf। ठीक है ... LDAP उपयोगकर्ताओं के साथ लॉगिन पूरी तरह से काम करता है, वे दो लाइनें (प्लस /etc/ldap.conf) LDAP ऑर्कुट को कॉन्फ़िगर करने के लिए पर्याप्त हैं।
मेरे ज्ञान PAM से NSS से स्वतंत्र में, लेकिन मेरे परीक्षणों से पता चला कि यह नहीं है। इसलिए मैं खुद से पूछता हूं कि क्या एनएसएस को पूरी तरह से अक्षम करना और केवल पीएएम का उपयोग करना संभव है?
getent shadow | grep LDAPUSERgrep LDAPUSER /etc/shadow