आइए जारी रखें, बिना पहले परामर्श के:
- एलडीएपी के साथ निर्देशिका सेवा। परिचय.
- LDAP [2] के साथ निर्देशिका सेवा: NTP और dnsmasq.
- LDAP [3] के साथ निर्देशिका सेवा: Isc-DHCP-Server और Bind9.
- LDAP [4] के साथ निर्देशिका सेवा: OpenLDAP (I)
इस पोस्ट में हम देखेंगे:
- स्थानीय उपयोगकर्ता प्रमाणीकरण
- डेटाबेस पॉपुलेट करें
- कंसोल उपयोगिताओं का उपयोग करके डेटाबेस प्रबंधित करें
- अब तक का सारांश ...
स्थानीय उपयोगकर्ता प्रमाणीकरण
हमारे पास OpenLDAP सर्वर चलने के बाद, यदि हम पंजीकृत उपयोगकर्ताओं का परीक्षण करना चाहते हैं या स्थानीय प्रमाणीकरण चाहते हैं, तो, जो हम पंजीकृत करेंगे- निर्देशिका में, हमें आवश्यक पैकेजों को स्थापित और कॉन्फ़िगर करना होगा।
निचोड़ में, शामिल पैकेज हैं:
libnss-ldap: नाम विनिमय सेवा प्रदान करता है (एनएसएस नाम सेवा स्विच) जो LDAP सर्वर को नाम सर्वर के रूप में कार्य करने की अनुमति देता है।
इसका अर्थ है उपयोगकर्ता खाते, समूह आईडी, होस्ट के बारे में जानकारी, उपनाम, नेटग्रुप और मूल रूप से किसी भी अन्य डेटा के बारे में जानकारी प्रदान करना जो सामान्य रूप से सादे पाठ फ़ाइलों से प्राप्त होता है जैसे / Etc / पासवर्ड, / आदि / समूह, आदि, या एक सेवा एनआईएस.
लिबपैम-एलडीएपी: "LDAP के लिए प्लग करने योग्य प्रमाणीकरण मॉड्यूल", या मॉड्यूल PAM LDAP के लिए। LDAP सर्वर और प्रमाणीकरण प्रणाली के बीच एक इंटरफ़ेस प्रदान करता है PAM.
एनएससीडी: "नाम सेवा कैचे दैमन“या नाम सेवा कैश के लिए डेमन। यह पासवर्ड, समूहों और मेजबानों की खोज को संभालता है और भविष्य में संदर्भ के लिए कैश में खोजों के परिणामों को संग्रहीत करता है।
: ~ # उपयुक्तता libnss-ldap उंगली स्थापित करें
पैकेज स्थापित करना libnss-ldap, जो निर्भरता के रूप में भी स्थापित होता है लिबपैम-एलडीएपी पहले से ही शैतान एनएससीडी, हमें एक कॉन्फ़िगरेशन विज़ार्ड के माध्यम से ले जाएगा, जिनके सवालों का हमें उचित उत्तर देना चाहिए:
यदि हम संकुल को पुनः कॉन्फ़िगर करना चाहते हैं libnss-ldap और / या लिबपैम-एलडीएपी, हमें निष्पादित करना होगा:
: ~ # dpkg-reconfigure libnss-ldap : ~ # dpkg-libfam-ldap को फिर से कॉन्फ़िगर करें
बाद में हम फ़ाइल को संशोधित करते हैं /etc/nsswitch.conf और हम इसे निम्नलिखित सामग्री के साथ छोड़ देते हैं:
: ~ # नैनो /etc/nsswitch.conf #etc/nsswitch.conf # # GNU नाम सेवा स्विच कार्यक्षमता का उदाहरण विन्यास। # यदि आपके पास `glibc-doc-reference 'और' info 'पैकेज स्थापित हैं, तो प्रयास करें: इस फ़ाइल के बारे में जानकारी के लिए #` जानकारी libc "नाम सर्विस स्विच"। पासवार्ड: कॉम्पिटिटर ldap ग्रुप: कॉम्पिटिटर ldap शैडो: कंपेटिटर ldap होस्ट: फाइलें dns नेटवर्क: फाइल प्रोटोकॉल: db फाइल्स सर्विसेस: db फाइल्स इथर: db फाइल्स rpc: db फाइल्स नेटग्रुप: nis
फ़ाइल में किए गए परिवर्तनों के लिए /etc/nsswitch.conf प्रभावी होना, हम सेवा को पुनः आरंभ करते हैं एनएससीडी:
: ~ # सेवा nscd पुनरारंभ
फ़ाइल को संशोधित करने के लिए महत्वपूर्ण विवरण है /etc/pam.d/common-session उपयोगकर्ता फ़ोल्डर को स्थानीय सर्वर पर बनाए जाने के लिए जब उस पर लॉग इन किया जाता है, तो एक उपयोगकर्ता निर्देशिका में पंजीकृत होता है:
: ~ # नैनो /etc/pam.d/common-session [-----] सत्र आवश्यक pam_mkhomedir.so स्कैल = / etc / स्केल / उमस्क = 0022 ### उपरोक्त पंक्ति को पहले शामिल किया जाना चाहिए # यहां प्रति-पैकेज मॉड्यूल ("प्राथमिक" ब्लॉक) हैं [----]
डेटाबेस पॉपुलेट करें
निर्देशिका डेटाबेस को पॉप्युलेट करने या इसे शुरू करने के लिए, हमें मुख्य संगठनात्मक इकाइयों को जोड़ना होगा, कम से कम एक उपयोगकर्ता समूह को पंजीकृत करना होगा, और एक उपयोगकर्ता जोड़ना होगा। ऐसा करने के लिए, हम एलडीआईएफ प्रारूप में एक फ़ाइल बनाते हैं, जिसे हम बाद में निम्न सामग्री के साथ निर्देशिका में जोड़ देंगे:
: ~ # नैनो content.ldif dn: ou = People, dc = friends, dc = cu objectClass: organ संगठनात्मकUnit ou: लोग dn: ou = समूह, dc = मित्र, dc = cu objectClass: संगठनात्मकUit ou: समूह dn: cn = ring, ou = समूह, dc = समूह। दोस्तों, dc = cu objectClass: posixGroup cn: अंगूठियां gidNumber: 10000 dn: uid = frodo, ou = People, dc = friends, dc = cu objectClass: inetrgPerson objectClass: posixAccount objectClass: shadowAccount यूड: फ्रोग्रोड स्नेक : फ्रोडो बैगिन्स डिस्प्लेनाम: फ्रोडो बैगिन्स uidNumber: 10000 gidNumber: 10000 उपयोगकर्ता
हम निर्देशिका में फ़ाइल की सामग्री जोड़ते हैं:
: ~ # ldapadd -x -D cn = admin, dc = दोस्तों, dc = cu -W -f content.ldif LDAP पासवर्ड दर्ज करें: नई प्रविष्टि "ou = People, dc = friends, dc = cu" जोड़कर नई प्रविष्टि "ou = समूह, dc = मित्र, dc = cu" जोड़कर नई प्रविष्टि "cn = ring, ou =" समूह, dc = दोस्तों, dc = cu "नई प्रविष्टि" uid = frodo, ou = People, dc = मित्र, dc = cu "जोड़कर
हम संबंधित जांच करते हैं:
: ~ # आईडी फ्रोडो uid = 10000 (फ्रोडो) gid = 10000 (रिंग्स) समूह = 10000 (रिंग्स) : ~ # getent passwd | ग्रेप फ्रोडो फ्रोडो: x: 10000: 10000: फ्रोडो बैगिन्स: / होम / फ्रोडो: / बिन / बेस : ~ # उंगली फ्रोडो लॉगिन: फ्रोडो नाम: फ्रोडो बैगिन्स निर्देशिका: / होम / फ्रोडो शैल: / बिन / बैश कभी लॉग इन नहीं किया गया। कोई मेल नहीं। कोई योजना नहीं। : ~ # ldapsearch -Y EXTERNAL -H ldapi: /// -b uid = frodo, ou = People, dc = friends, dc = cu
अब हमारे पास एक निर्देशिका सेवा है जिसे हमें प्रबंधित करना होगा !!! हम दो तरीके विकसित करेंगे: पहला पैकेज के माध्यम से ldapscript, और दूसरा, जिसे हम अगले लेख में संबोधित करेंगे, के माध्यम से होगाLdap खाता प्रबंधक.
हमें यह भी कहना चाहिए कि पैकेज ldap- बर्तन, निर्देशिका को प्रबंधित करने के लिए उपयोगी कमांड की एक श्रृंखला प्रदान करता है। यह जानने के लिए कि वे आदेश क्या हैं, हम निष्पादित करते हैं:
: ~ # dpkg -L ldap-utils | grep / बिन / usr / bin / usr / bin / ldapmodrdn / usr / bin / ldapurl / usr / bin / ldapdelete / usr / bin / ldapwhoami / usr / bin / ldapexop / usr / bin / ldappasswd / usr / bin / ldapcomwope / ldapsearch / usr / bin / ldapmodify / usr / bin / ldapadd
प्रत्येक कमांड के बारे में अधिक जानने के लिए, हम दौड़ने की सलाह देते हैं आदमी। प्रत्येक का स्पष्टीकरण देने से लेख बहुत लंबा हो जाएगा।
कंसोल उपयोगिताओं का उपयोग करके डेटाबेस प्रबंधित करें
हम पैकेज का चयन करते हैं ldapscript ऐसे कार्य के लिए। स्थापना और कॉन्फ़िगरेशन प्रक्रिया निम्नानुसार है:
: ~ # एप्टीट्यूड ldapscripts स्थापित करें : ~ # cp /etc/ldapscripts/ldapscripts.conf \ /etc/ldapscripts/ldapscripts.conf.original : ~ # cp / dev / null /etc/ldapscripts/ldapscripts.conf : ~ # नैनो /etc/ldapscripts/ldapscripts.conf SERVER = localhost BINDDN = 'cn = admin, dc = friends, dc = cu' BINDPWDFILE = "/ etc / ldapscripts / ldapscripts.passwd" SUFFIX = 'dc = दोस्तों, dc = cu' GSUFFIX = 'ou = Group' USUFFIX = 'ou = People' # MSUFFIX = 'ou = कंप्यूटर्स' GIDSTART = 10001 UIDSTART = 10001 # MIDSTART = 10000 # OpenLDAP क्लाइंट कमांड LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDPELD " / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodnn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLS = GCLASS =" LCLAPMODIFYBIN = " ./ldapadduser.template "PASSWORDGEN =" इको% u " ### ध्यान दें कि स्क्रिप्ट कमांड का उपयोग करते हैं ### ldap-utils पैकेज : ~ # श-सी "इको-एन 'टुपसॉवर्ड'> \ /etc/ldapscripts/ldapscripts.passwd" : ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd : ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \ /etc/ldapscripts/ldapadduser.template : ~ # नैनो /etc/ldapscripts/ldapadduser.template dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: एसएन: दिया गया नाम: प्रदर्शित होने वाला नाम: यूआईडी: उडनंबर: गिडनंबर: घरेलू निर्देशिका: लॉगिन: मेल: geckos: विवरण: उपयोगकर्ता खाता : ~ # नैनो /etc/ldapscripts/ldapscripts.conf ## हम टिप्पणी को हटाते हैं
आइए उपयोगकर्ता को जोड़ने का प्रयास करें स्ट्राइडर द किंग उपयोगकर्ता समूह के लिए छल्ले और दर्ज किए गए डेटा की जांच करते हैं:
: ~ # ldapadduser रिंग्स को स्ट्राइड करता है [dn: uid = strides, ou = People, dc = friends, dc = cu] "sn" के लिए मान दर्ज करें: राजा [dn: uid = strides, ou = लोग, dc = दोस्त, dc = cu] के लिए मान दर्ज करें "दियानाम": स्ट्राइड्स [dn: uid = strides, ou = People, dc = friends, dc = cu] "displayName" के लिए मान दर्ज करें: स्ट्राइड्स एल रे [dn: uid = strides, ou = लोग, डीसी = दोस्त, डीसी = cu] "मेल" के लिए मान दर्ज करें: trancos@amigos.cu LDAP में सफलतापूर्वक उपयोगकर्ता ट्रान्सको को जोड़ा गया, सफलतापूर्वक उपयोगकर्ता के लिए पासवर्ड सेट करें रूट @ मिल्डैप: ~ # ldapfinger स्ट्राइड dn: uid = strides, ou = People, dc = friends, dc = cu objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: strug sn: El Rey दिए गए नाम: स्ट्राइड्स डिस्प्लेनेम: स्ट्राइड्स एल रे यूड: स्ट्राइड्स एल न्यूडम्बर: homeDirectory: / home / trancos loginShell: / bin / bash mail: trancos@amigos.cu gecos: trancos विवरण: उपयोगकर्ता खाता प्रयोक्ता नाम: e10002NTSEF10000UnlmcWemCem1iUzBuSzQzTkM9ZFRFcTUwV5VsVVBn
आइए उपयोगकर्ता के लिए एक पासवर्ड घोषित करें फ्रोडो, चलो सूची "DN"पंजीकृत उपयोगकर्ताओं की, और नए बनाए गए उपयोगकर्ता को हटाएं स्ट्राइडर्स:
: ~ # ldapsetpasswd फ्रोडो उपयोगकर्ता के लिए पासवर्ड बदलना uid = frodo, ou = People, dc = friends, dc = cu नया पासवर्ड: नया पासवर्ड लिखें: उपयोगकर्ता uid = frodo, ou = लोग, dc = मित्र, dc = cu के लिए सफलतापूर्वक पासवर्ड सेट करें : ~ # lsldap -u | grep dn dn: uid = frodo, ou = People, dc = friends, dc = cu dn: uid = strides, ou = लोग, डीसी = दोस्त, डीसी = क्यू : ~ # ldapfinger फ्रोडो dn: uid = frodo, ou = People, dc = friends, dc = cu objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: Frodo sn: Bagins दिए गए नाम: Frodo cn: Frodo Bagins displayName: Frodo Bagins : 10000 मेल: frodo@amigos.cu gecos: Frodo Bagins लॉगिन करें: / bin / bash homeDirectory: / home / frodo userPassword :: e10000NTSEF1TnIZXN9YXA4VnplK3ZIZXZzbFZKaF1FVDV1DVD1 : ~ # ldapdeleteuser स्ट्राइड्स सफलतापूर्वक हटाए गए उपयोगकर्ता uid = strides, ou = People, dc = दोस्त, LDAP से LD = cu : ~ # lsldap -u | grep dn dn: uid = frodo, ou = People, dc = friends, dc = cu
आइए देखें कि स्थानीय प्रमाणीकरण सही ढंग से काम करता है:
: ~ # ssh frodo @ mildap frodo @ mildap का पासवर्ड: Linux mildap 2.6.32-5-686 # 1 एसएमपी शुक्र 10 मई 08:33:48 UTC 2013 i686 [---] डेबियन जीएनयू / लिनक्स ABSOLUTELY NO WARRY के साथ आता है, जो लागू कानून द्वारा अनुमत सीमा तक है। । अंतिम लॉगिन: Tue फ़रवरी 18 18:54:01 2014 से mildap.amigos.cu frodo @ mildap: ~ $ pwd / घर / फ्रोडो फ्रोडो @ माइल्डैप: ~ $
ऐसे कई उदाहरण हैं जिन्हें हम लिख सकते हैं, लेकिन दुर्भाग्य से लेख बहुत लंबा होगा। हम हमेशा कहते हैं कि हम देते हैं एक प्रवेश बिंदु सामान्य तौर पर सेवाओं के मुद्दे। एक ही पोस्ट में व्यापक प्रलेखन को बदलना असंभव है।
पैकेज के बारे में अधिक जानने के लिए ldapscript और इसके आदेश, कृपया और परामर्श करें आदमी ldapscripts.
अब तक OpenLDAP पर आधारित हमारी सरल निर्देशिका सेवा ठीक काम करती है।
अब तक का सारांश ...
कई लोग व्यावसायिक नेटवर्क में सेवाओं के प्रभारी होते हैं, जब वे Microsoft उत्पादों पर आधारित सेवाओं के साथ एक का प्रभार लेते हैं, यदि वे लिनक्स पर माइग्रेट करना चाहते हैं, तो वे अन्य सेवाओं के बीच डोमेन नियंत्रक के प्रवास पर विचार करते हैं।
यदि वे क्लियरओएस या ज़ेंटाल जैसे तीसरे पक्ष के उत्पाद का चयन नहीं करते हैं, या यदि अन्य कारणों से वे स्वतंत्र होने की इच्छा रखते हैं, तो वे अपने स्वयं के डोमेन नियंत्रक, या सांबा 4 से अपनी स्वयं की सक्रिय निर्देशिका बनाने का श्रमसाध्य कार्य करते हैं।
तब समस्याएं शुरू होती हैं और कुछ अन्य निराशाएँ होती हैं। ऑपरेटिंग त्रुटियों। वे समस्याओं का स्थान नहीं ढूंढते हैं जो उन्हें हल करने में सक्षम हो। बार-बार स्थापना के प्रयास। सेवाओं का आंशिक संचालन। और समस्याओं की एक लंबी सूची।
OpenLDAP प्लस सांबा पर आधारित लिनक्स में किसी भी डोमेन नियंत्रक या सक्रिय निर्देशिका का आधार, के बुनियादी ज्ञान से गुजरता है LDAP सर्वर क्या है, यह कैसे स्थापित किया जाता है, इसे कैसे कॉन्फ़िगर किया जाता है और प्रबंधित किया जाता है, आदि।। जिन लोगों ने सांबा के व्यापक प्रलेखन को पढ़ा है, वे अच्छी तरह से जानते होंगे कि हमारा क्या मतलब है।
उस प्रश्न का उत्तर देना ठीक है कि हमने लेखों की पूरी श्रृंखला इस पर लिखी है, और हम उन्हें जारी रखेंगे जो आवश्यक हैं। हमें उम्मीद है कि वे आपके लिए उपयोगी हैं।
उत्कृष्ट आपकी पोस्ट Fico, एक क्वेरी, OpenLDAP के साथ, क्या डोमेन नीतियां बनाई जा सकती हैं? उन्हें कनेक्ट किए गए उपयोगकर्ताओं पर लागू करने के लिए, जैसे कि स्क्रीन सेवर 5 मिनट तक सक्रिय होने के बाद सक्रिय होना, वॉलपेपर को कॉन्फ़िगर करना, कुछ अनुप्रयोगों को चलाने से रोकना, स्टार्टअप स्क्रिप्ट को कॉन्फ़िगर करना आदि।
सादर,
ऑस्कर
टिप्पणी के लिए धन्यवाद !!!। ऑस्कर, याद रखें कि लिनक्स पर उन नीतियों को अलग तरह से लागू किया जाता है, जब लिनक्स ग्राहकों की बात आती है। GNOME इसे प्राप्त करने के लिए एक उपकरण लाता है कि अब मुझे इसका नाम याद नहीं है। हां, मुझे पता है कि हम OpenLDAP में सीधे उपयोगकर्ता खाता नीतियां स्थापित कर सकते हैं। कई लोग मुझसे एक ही सवाल पूछते हैं और मैं हमेशा कमोबेश उसी का जवाब देता हूं। Linux वे सुरक्षा नीतियां केवल Microsoft क्लाइंट्स पर लागू होती हैं, न कि लिनक्स क्लाइंट्स पर। वे दो अलग दर्शन हैं। एक सक्रिय निर्देशिका OpenLDAP पर आधारित एक मालिकाना आवेदन है, जो माइक्रोसॉफ़्ट और नेटवर्क प्रशासक का एक व्यक्तिगत करबरोस है, जिसे मैं नहीं जानता कि वे अब इसे क्या कहते हैं। इससे पहले, यह लैन मैनेजर में था। हम केवल एलडीएपी के साथ सक्रिय निर्देशिका का अनुकरण करने के बारे में नहीं सोच सकते। हमें सांबा को एकीकृत करना होगा या सांबा 4 का उपयोग करके देखना होगा कि क्या इसे हासिल किया जा सकता है। और मेरे दोस्त, मैंने सांबा 4 पर एक बार भी नज़र नहीं डाली। 🙂 और न ही मुझे पता है कि सक्रिय निर्देशिका के साथ Zentyal उन्हें लागू कर सकते हैं ... लेकिन यह सॉफ्टवेयर केवल OpenLDAP नहीं है। यह OpenLDAP + सांबा + करबरोस + अन्य चीजें हैं जो मुझे अच्छी तरह से नहीं पता हैं। And इस श्रृंखला में मैं केवल OpenLDAP के साथ काम करता हूं, और यदि आप इसका पालन करते हैं, तो आप देखेंगे कि इस संकलन में मैं पूरी श्रृंखला के बारे में लिख रहा हूं, प्लस अन्य आवश्यक सेवाएं, सब कुछ OpenLDAP निर्देशिका के खिलाफ प्रमाणीकरण पर आधारित है।
सादर