OS X, लिनक्स के NSS के बराबर है?


3

लिनक्स के आंतरिक लोगों से परिचित कोई भी व्यक्ति एनएसएस के बारे में जानता है ; यह सबसिस्टम है जो सेवाओं, जैसे gethostname()और ऐसे, को सौंपता है। कोड जो वास्तव में DNS क्वेरीज़ या रीड्स /etc/passwdआदि बनाता है, एनएसएस मॉड्यूल के रूप में है। इसके अलावा, अतिरिक्त एनएसएस मॉड्यूल को संकलित और लिंक किया जा सकता है, जिससे डेवलपर्स को मेजबानों, उपयोगकर्ताओं आदि को देखने के विभिन्न तरीके प्रदान किए जा सकते हैं।

मैं ओएस एक्स में बराबर सबसिस्टम खोजने की कोशिश कर रहा हूं, लेकिन ऐसा लगता है कि यह कुछ वर्षों में बदल गया है। जाहिरा तौर पर एक पुरानी प्रणाली जिसे नेटइन्फो कहा जाता है, का उपयोग नेक्स्टस्टेप दिनों के बाद से किया गया था, लेकिन वह 10.4 के आसपास नहीं थी। यह स्पष्ट रूप से लुकआउट नामक किसी चीज़ से प्रभावित था, लेकिन मुझे नहीं लगता कि यह अब लायन में मौजूद है, क्योंकि मेरे सिस्टम पर कोई लुकअप प्रक्रिया नहीं चल रही है, और इसके लिए man lookupdरीडायरेक्ट होता है dscacheutil

इस प्रकार के लुकअप को प्रस्तुत करने के लिए लायन वर्तमान प्रणाली का क्या उपयोग करता है? क्या Apple इस सबसिस्टम के लिए नए प्लगइन्स लिखने के लिए कोई दस्तावेज प्रदान करता है, इन सेवाओं को प्रदान करने के लिए अलग-अलग बैकेंड के लिए अनुमति देने के लिए?

इस सवाल पर विचार करने का एक और तरीका है : OSX में कौन सा सबसिस्टम /etc/hostsअपनी सामग्री के आधार पर लुकअप को पढ़ने और हल करने के लिए जिम्मेदार है ?

जवाबों:


4

मैं लिनक्स से बहुत परिचित नहीं हूं, लेकिन ऐसा लगता है कि आप ओपन डायरेक्टरी की तलाश में हैं । चेतावनी: Apple इस शब्द का उपयोग अपनी निर्देशिका सेवा वास्तुकला के विभिन्न भागों को संदर्भित करने के लिए करता है, इसलिए यदि आप "Open Directory" करते हैं तो आपको Apple के LDAP- आधारित निर्देशिका सर्वर और OS X पर चलने वाले डेमन दोनों मिलेंगे। जिस कार्य के लिए आप देख रहे हैं।

चलिए मैं आपको इसके विकास का एक ऐतिहासिक अवलोकन देने की कोशिश करता हूं (और उम्मीद है कि मुझे याद होगा कि किस संस्करण में क्या बदलाव हुए हैं):

NextSTEP (OS X जो OS X पर आधारित था) में एक डीमॉन था जिसे लुकअप कहा जाता था, जैसा कि मैं समझता हूं, यह एनएसएस के समान है। अधिकांश वास्तविक डेटा NetInfo डेटाबेस (जो या तो कंप्यूटर पर स्थानीय हो सकता है, या किसी सर्वर से नेट पर एक्सेस किया जा सकता है) में संग्रहीत किया गया था।

ओएस एक्स के शुरुआती संस्करणों ने एक और बधिया जोड़ा, जिसका नाम है DirectoryService, जिसने इसी तरह की चीजें कीं (लेकिन थोड़ा अलग); चूँकि यह सब कुछ लुकअप नहीं करता था, इसलिए किसी भी प्रश्न का उत्तर यह नहीं मिल सकता था कि यह लुकअप को सौंप दिया जाएगा। परिणाम: अतिरेक और भ्रम की एक निश्चित राशि। IIRC, वास्तव में कुछ प्रश्न थे जो पहले लुकअप के लिए निर्देशित हो गए थे, और उन्हें इसे निर्देशिका सेवा को सौंपना पड़ सकता है। प्लग-इन (एनएसएस मॉड्यूल के बराबर) के दो अलग-अलग सेट भी थे: डायरेक्ट्री के लिए उन और लुकअप के लिए। स्थानीय उपयोगकर्ता और समूह अभी भी NetInfo में संग्रहीत किए गए थे, लेकिन यह LDAP के पक्ष में नेटवर्क खातों के लिए हटा दिया गया था।

मुझे अब विवरण याद नहीं है, लेकिन संस्करणों पर जिम्मेदारियां धीरे-धीरे लुकअप से डायरेक्ट्री सर्विस में स्थानांतरित हो गईं।

10.5 में, नेटइन्फो हटा दिया गया था; स्थानीय उपयोगकर्ताओं, समूहों, आदि को XML संपत्ति सूची फाइलों में / var / db / dslocal / के तहत संग्रहीत किया गया था। प्लग-इन (मुझे क्षमा करें, उन्हें एक्सेस करने के लिए "कनेक्टर्स" कहा जाता है) उन्हें एक्सेस करने के लिए नॉट-ऑल-जेनरिक नाम "लोकल" है (इसे कभी-कभी इसे थोड़ा सा डिसबैलिक करने के लिए "dslocal" कहा जाता है)। इस बिंदु पर, केवल वही लुकअप अभी भी डीएनएस लुकअप के लिए ज़िम्मेदार है (हालाँकि यह मल्टीकास्ट लुकअप को mDNSResponder को बंद कर देता है)।

10.6 में, लुकआउट हटा दिया गया था; mDNSResponder अब सभी DNS लुकअप, दोनों मानक (यूनिकस्ट) और मल्टीकास्ट को संभालता है।

10.7 में, Open Directory डेमन का नाम बदलकर DirectoryService से opendirectoryd कर दिया गया।


बहुत बढ़िया! इस सुपर-जानकारीपूर्ण उत्तर के लिए धन्यवाद। बस एक अंतिम बिंदु, क्या इसका मतलब यह है कि 10.7 में एनएसएस मॉड्यूल के बराबर लिखने का सही तरीका एक ओपन डायरेक्टरी प्लगइन के रूप में है ?
एड्रियन पेट्रेस्कु

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