AD के आधार पर एक Windows डोमेन में GNU / Linux फ़ाइल सर्वर का प्रमाणीकरण। भाग २

1. विन्यास फाइल।

हम केवल सांबा का उपयोग करके जीएनयू / लिनक्स सर्वर तक पहुंच को कॉन्फ़िगर करेंगे। उपयोगकर्ता प्राधिकरण / etc / passwd का उपयोग करते हुए स्थानीय रहेगा।
हम अपने नए सर्वर को एक स्थिर आईपी पता प्रदान करेंगे। इसे 192.168.7.9 होने दें।
पहले आपको यह जांचने की आवश्यकता है कि हम किस सर्वर को DNS के रूप में उपयोग करते हैं। यह हमारे नेटवर्क में एक डोमेन नियंत्रक होना चाहिए। हमारे सर्वर पते को 192.168.7.2 के रूप में परिभाषित किया गया है। फ़ाइल को संपादित करें /etc/resolv.conf। यह इस तरह दिखना चाहिए:
search lab.local nameserver 192.168.7.2 

जांचें कि क्या सब कुछ काम करता है:
 #host 192.168.7.2 2.7.168.192.in-addr.arpa domain name pointer lab-dc1.lab.local. # 

स्वाभाविक रूप से, आपके मामले में नाम अलग-अलग होंगे। हमारे नए सर्वर का संदर्भ देने वाले lab.local डोमेन में DNS प्रविष्टि करना सुनिश्चित करें। DNS में रिकॉर्ड का मतलब यह नहीं है कि हमारा GNU / लिनक्स सर्वर डोमेन में शामिल है। की जाँच करें:
 linux-test:~ # host 192.168.7.9 9.7.168.192.in-addr.arpa domain name pointer test-linux.lab.local. linux-test:~ # host test-linux test-linux.lab.local has address 192.168.7.9 linux-test:~ # 

विंडोज डोमेन में सही तरीके से काम करने के लिए, कई सेवाओं की आवश्यकता होती है: केर्बरोस, एलडीएपी और सांबा। सामान्य तौर पर, आपको केवल सांबा को कॉन्फ़िगर करने की आवश्यकता होती है, और अन्य सेवाएं वैकल्पिक होती हैं। लेकिन यह बेहतर होगा यदि हम उन्हें कॉन्फ़िगर करते हैं - वे भविष्य में काम में आ सकते हैं।
कर्बरोस को कॉन्फ़िगर करना आसान है - एकल /etc/krb5.conf फ़ाइल के माध्यम से। मुख्य पैरामीटर REALM हैं, जो हमारे डोमेन की ओर इशारा करते हैं और Kerberos सर्वर पता डोमेन नियंत्रक का पता है। फ़ाइल /etc/krb5.conf कुछ इस तरह दिखती है:
 linux-test:~ # more /etc/krb5.conf [libdefaults] default_realm = LAB.LOCAL clockskew = 300 # default_realm = EXAMPLE.COM [realms] LAB.LOCAL = { kdc = 192.168.7.2 default_domain = lab.local admin_server = 192.168.7.2 } # EXAMPLE.COM = { # kdc = kerberos.example.com # admin_server = kerberos.example.com # } [logging] kdc = FILE:/var/log/krb5/krb5kdc.log admin_server = FILE:/var/log/krb5/kadmind.log default = SYSLOG:NOTICE:DAEMON [domain_realm] .lab.local = LAB.LOCAL [appdefaults] pam = { ticket_lifetime = 1d renew_lifetime = 1d forwardable = true proxiable = false minimum_uid = 1 external = sshd use_shmem = sshd clockskew = 300 } 

[Libdefaults] अनुभाग डिफ़ॉल्ट डोमेन को इंगित करता है। हमारे पास यह LAB.LOCAL है। इसके बाद, [स्थानों] अनुभाग में, LAB.LOCAL के लिए पैरामीटर निर्दिष्ट किए गए हैं - करबरोस सर्वर का डोमेन नाम और पता। हमारे मामले में, डोमेन नियंत्रक Kerbeors सर्वर के रूप में कार्य करता है। [लॉगिंग] अनुभाग लॉग फ़ाइलों के स्थान को इंगित करता है। कुछ गलत होने पर समस्या निवारण के लिए ये फाइलें काम आएंगी।
Kerberos के संचालन की जाँच करें:
 linux-test:~ # kinit Administrator@LAB.LOCAL Password for Administrator@LAB.LOCAL: linux-test:~ # klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@LAB.LOCAL Valid starting Expires Service principal 04/05/12 11:22:23 04/05/12 21:22:35 krbtgt/LAB.LOCAL@LAB.LOCAL renew until 04/06/12 11:22:23 linux-test:~ # 

Kinit कमांड सर्वर से टिकट प्राप्त करता है, और klist सर्वर से प्राप्त टिकट दिखाता है। रनिंग किनीट वैकल्पिक है, लेकिन क्या आपको केर्बरोस को किसी तरह जांचने की आवश्यकता है?
LDAP को कॉन्फ़िगर करना भी वैकल्पिक है - सांबा आवश्यक फाइलों का निर्माण करेगा और आवश्यक क्वेरी करेगा। लेकिन बाद में LDAP काम आ सकती है। OpenLDAP कॉन्फ़िगरेशन /etc/openldap/ldap.conf फ़ाइल में संग्रहीत है। कृपया ध्यान दें कि सिस्टम पर दो ldap.conf फाइलें हो सकती हैं। उनके पास अलग-अलग उद्देश्य हैं और यहां तक ​​कि थोड़ा अलग वाक्यविन्यास भी है। / Etc / Openldap निर्देशिका में OpenLDAP (और सांबा के लिए) के लिए ldap.conf फ़ाइल है, और /etc/ldap.conf फ़ाइल में LDAP (nss_ldap) के माध्यम से नामों को हल करने के लिए कॉन्फ़िगरेशन है। हम अन्य लेखों में /etc/ldap.conf फ़ाइल पर लौटेंगे, अब हम /etc/openldap/ldap.conf कॉन्फ़िगर करेंगे
 linux-test:~ # cat /etc/openldap/ldap.conf # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE dc=example,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never uri ldap://192.168.7.2 base DC=lab,DC=local linux-test:~ # 

जैसा कि आप देख सकते हैं, सब कुछ बहुत सरल है - आपको LDAP सर्वर URI (यह हमारा डोमेन नियंत्रक है) और खोज के लिए आधार निर्दिष्ट करने की आवश्यकता है।
अब चलो सबसे कठिन भाग पर चलते हैं - सांबा की स्थापना।
सांबा में 3 डेमॉन शामिल हैं - smbd, nmbd और winbind। वे सभी /etc/samba/smb.conf फ़ाइल से सेटिंग लेते हैं।
Smbd SMB / CIFS सेवा के लिए क्लाइंट एक्सेस के लिए जिम्मेदार है (यह वास्तव में Samba सर्वर है)। Nmbd Netbios के लिए एक नाम समाधान सेवा है। Winbind एक नाम रिज़ॉल्यूशन सेवा (कंप्यूटर और उपयोगकर्ता दोनों के लिए) Windows डोमेन सेवा के माध्यम से है।
कई मैनुअल में, आप यह उल्लेख कर सकते हैं कि सांबा के अलावा, आपको जीएनयू / लिनक्स और विंडोज डोमेन नियंत्रक के बीच संबंधों के लिए जिम्मेदार सेवा को विंडबाइंड को कॉन्फ़िगर करने की भी आवश्यकता है। विशेष स्थिति में जब आपको केवल सांबा को कॉन्फ़िगर करने की आवश्यकता होती है, तो विंडबिंड सेटिंग्स को छोड़ा जा सकता है। Winbind कई प्रकार की सेवाओं के लिए Windows डोमेन में प्राधिकरण प्रदान करता है, PAM मॉड्यूल और Windows डोमेन नियंत्रक के बीच एक इंटरफ़ेस प्रदान करता है। Winbind काम नहीं कर रहा है, सांबा परिचालन में है। लेकिन winbind की स्थापना करके, हम डोमेन नियंत्रक के माध्यम से अधिकृत विभिन्न सेवाओं को जोड़कर अपने सर्वर का और विस्तार करना संभव बनाते हैं।
हम सभी उपयोगकर्ताओं की साझा फ़ाइल निर्देशिका तक और उपयोगकर्ताओं की होम निर्देशिका तक पहुँच को सरलतम सर्वर बना देंगे। हम अन्य लेखों में सांबा सर्वर तक पहुंच को कॉन्फ़िगर करने के बारे में अधिक विस्तार से बात करेंगे।
/Etc/samba/smb.conf फ़ाइल में, हमें निम्नलिखित पंक्तियाँ निर्दिष्ट करनी चाहिए:
 [global] workgroup = LAB passdb backend = ldapsam:ldap://192.168.7.2 printing = cups printcap name = cups printcap cache time = 750 cups options = raw map to guest = Bad User logon path = \\%L\profiles\.msprofile logon home = \\%L\%U\.9xprofile logon drive = P: usershare allow guests = Yes 

यहां हम अपने डोमेन के संक्षिप्त नाम (एलएबी) और उस स्थान को इंगित करते हैं जहां पासवर्ड संग्रहीत हैं - पासब बैकएंड पैरामीटर, जो इंगित करता है कि पासवर्ड एलडीएपी सर्वर पर हैं, जो डोमेन नियंत्रक है। वैसे, आप कई सर्वरों को स्पेस के साथ सूचीबद्ध करके निर्दिष्ट कर सकते हैं। यदि हमारे पास कई डोमेन नियंत्रक हैं तो यह उपयोगी है। यूजर्स को मेहमानों के लिए अनुमति देता है = हां लाइन उपयोगकर्ताओं को मेहमानों के लिए खोलकर अपने फ़ोल्डर्स तक पहुंच को नियंत्रित करने की अनुमति देती है। शेष लाइनें प्रिंट प्रबंधन और पंजीकरण प्रक्रिया से संबंधित हैं। हमारे मामले में, वे वैकल्पिक हैं और सांबा वितरण की कॉन्फ़िगरेशन फ़ाइल से माइग्रेट किए गए हैं।
Smb.conf के [वैश्विक] अनुभाग का संपादन जारी रखें।
  domain logons = No domain master = No security = ADS encrypt passwords = yes 

डोमेन लॉगऑन और डोमेन मास्टर स्ट्रिंग्स सांबा को डोमेन नियंत्रक के रूप में उपयोग करने की अनुमति देते हैं। यह हमारा मामला नहीं है, और इसलिए नहीं।
स्ट्रिंग सुरक्षा = ADS कुंजी है। इस प्रकार, हम सांबा को संकेत देते हैं कि सर्वर विंडोज डोमेन का सदस्य है और प्राधिकृत करने के लिए AD जिम्मेदार है। स्ट्रिंग एन्क्रिप्टेड पासवर्ड = हाँ का अर्थ है कि एन्क्रिप्टेड पासवर्ड का उपयोग किया जाता है।
हम उसी [वैश्विक] अनुभाग को संपादित करना जारी रखते हैं।
  ldap admin dn = Administrator@lab.local ldap delete dn = No ldap group suffix = ou=Groups ldap idmap suffix = ou=Idmap ldap machine suffix = ou=Computers ldap passwd sync = Yes ldap ssl = No ldap suffix = DC=lab,DC=local ldap timeout = 5 ldap user suffix = ou=Users 

ये लाइनें LDAP सर्वर से कनेक्शन के प्रबंधन से संबंधित हैं। ध्यान दें कि व्यवस्थापक DN रिकॉर्ड फ़ॉर्म में उपयोगकर्ता @ डोमेन फ़ॉर्म है - यह उस चीज़ से मेल खाना चाहिए जो हमने Kerberos का परीक्षण करते समय निर्दिष्ट किया था। शेष रेखाएं AD में विभिन्न स्थानों के प्रत्ययों को दर्शाती हैं।
कर्बरोस पर निम्नलिखित पंक्तियाँ लागू होती हैं:
  realm = LAB.LOCAL template homedir = /home/%D/%U winbind refresh tickets = yes kerberos method = system keytab 

यहाँ हम Kerberos में REALM और प्रमाणीकरण विधि निर्दिष्ट करते हैं।
अब वे रेखाएँ जो विंडबाइंड विन्यास से संबंधित हैं:
  winbind separator = / winbind enum users = yes winbind enum groups = yes winbind nested groups = yes winbind use default domain = No winbind nss info = rfc2307 winbind offline logon = yes 

विनबिंड ऑपरेशन के विभिन्न मापदंडों को यहां दर्शाया गया है - डोमेन और उपयोगकर्ता नामों को अलग करने के लिए एक फॉर्म, उपयोगकर्ता और समूह के नामों की सूची के लिए विनबाइंड की अनुमति, ऑफ़लाइन प्रमाणीकरण के लिए अनुमति आदि। ये सेटिंग्स सांबा डेवलपर्स द्वारा अनुशंसित हैं।
वैश्विक सेटिंग्स अनुभाग पूरा हो गया है। कृपया ध्यान दें कि हमारे पास पासवर्ड सर्वर और आईडीमैप बैकएंड लाइनें नहीं हैं जो अन्य मैनुअल में पाई जा सकती हैं। सांबा को यह पता लगाना होगा कि पासवर्ड कहाँ से आते हैं।
चलो निर्देशिकाओं की स्थापना के लिए आगे बढ़ते हैं। यहाँ सब कुछ सरल है:
 [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes available = Yes [profiles] comment = Network Profiles Service path = %H read only = No store dos attributes = Yes create mask = 0600 directory mask = 0700 [users] comment = All users path = /home read only = No inherit acls = Yes veto files = /aquota.user/groups/shares/ [groups] comment = All groups path = /home/groups read only = No inherit acls = Yes [SRV] comment = Common files path = /local write list = Administrator guest ok = Yes hosts allow = 192.168.7. 

सांबा वितरण के साथ बांटी गई साझा निर्देशिकाओं की मानक सूची में, हमने केवल [SRV] खंड - सार्वजनिक निर्देशिका को जोड़ा।
सभी आवश्यक फ़ाइलों का कॉन्फ़िगरेशन पूरा हो गया है, और हम अपने सर्वर की संचालन क्षमता की जांच करना शुरू करते हैं।

2. स्वास्थ्य की जाँच।

यहां हम अपनी सेटिंग्स की शुद्धता की जांच करेंगे और अपने नए सर्वर को विंडोज डोमेन में शामिल करेंगे। सबसे पहले, सांबा विन्यास की शुद्धता की जाँच करें:
एल
 inux-test:~ # testparm Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[homes]" Processing section "[profiles]" Processing section "[users]" Processing section "[groups]" Processing section "[SRV]" Loaded services file OK. Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions 

जैसा कि आप देख सकते हैं, हमारे पास कोई गंभीर चेतावनी और कॉन्फ़िगरेशन त्रुटियां नहीं हैं।
अब बारी में smbd, nmbd और winbindd डेमों को चलाएं। हम इसे /etc/init.d/smb, /etc/init.d/nmb और /etc/init.d/winbind फ़ाइलों के माध्यम से करते हैं। आप इसे मैन्युअल रूप से भी कर सकते हैं, जो विभिन्न अतिरिक्त जानकारी प्राप्त करने के लिए उपयोगी हो सकता है। यह कैसे किया जा सकता है smbd, nmbd और winbindd पर अंतर्निहित मैनुअल (मैन) में पाया जा सकता है।
हमारे डोमेन और डोमेन में हमारे सर्वर की स्थिति की जाँच करें। डोमेन स्थिति नेट विज्ञापन जानकारी कमांड के साथ प्राप्त की जा सकती है
 linux-test:~ # net ads info LDAP server: 192.168.7.2 LDAP server name: LAB-DC1.lab.local Realm: LAB.LOCAL Bind Path: dc=LAB,dc=LOCAL LDAP port: 389 Server time: Thu, 05 Apr 2012 13:03:47 MSK KDC server: 192.168.7.2 Server time offset: 4 linux-test:~ # 

जाहिर है, सब कुछ क्रम में है। यदि कमांड द्वारा प्रदर्शित कोई भी पैरामीटर हमारी योजना से मेल नहीं खाता है, तो आपको इसका कारण तलाशना होगा। अब डोमेन में हमारे सर्वर की स्थिति की जाँच करें:
एल
 inux-test:~ # net ads status -U Administrator Enter Administrator's password: No machine account for 'LINUX-TEST' found linux-test:~ # 

यह इस प्रकार है कि हमारा सर्वर डोमेन में शामिल नहीं है। डोमेन नियंत्रक के लिए एक अनुरोध व्यवस्थापक की ओर से किया जाता है, और पासवर्ड को विंडोज डोमेन व्यवस्थापक खाते से निर्दिष्ट किया जाना चाहिए।
अब हमें अपने सर्वर को डोमेन में शामिल करना चाहिए:
एल
 inux-test:~ # net ads join -U Administrator Enter Administrator's password: Using short domain name -- LAB Joined 'LINUX-TEST' to realm 'lab.local' DNS Update for linux-test.lab.local failed: ERROR_DNS_UPDATE_FAILED DNS update failed! linux-test:~ # 

इसलिए, हमारा नया सर्वर डोमेन में शामिल है, जैसा कि लाइनें इंगित करती हैं:
 Using short domain name -- LAB Joined 'LINUX-TEST' to realm 'lab.local' 

डायनामिक DNS परिवर्तन, हम पास नहीं हुए। यह डरावना नहीं है, क्योंकि यह योजनाबद्ध नहीं था। अब हमारी सभी प्रक्रियाओं को फिर से शुरू करने की सिफारिश की गई है - smbd, nmbd और winbindd। ध्यान दें कि पुनरारंभ करने के बाद, कुछ मिनट आगे की जाँच से पहले गुजरना चाहिए।
डोमेन में हमारे सर्वर की स्थिति की जाँच करें:
 linux-test:~ # net ads status -U Administrator Enter Administrator's password: 

जवाब में, हमें डोमेन में हमारे नए सर्वर की स्थिति का एक प्रिंटआउट मिलता है। हमारे सर्वर से संबंधित विभिन्न विज्ञापन फ़ील्ड वहाँ सूचीबद्ध होंगे। हम डोमेन नियंत्रक पर AD व्यवस्थापक उपकरण चलाकर, कंप्यूटर टैब पर अपने GNU / लिनक्स सर्वर को भी देखेंगे।

आप डोमेन उपयोगकर्ताओं की सूची देख सकते हैं:
एल
 inux-test:~ # net ads user -U Administrator Enter Administrator's password: Administrator Guest krbtgt usertest linux-test:~ # 

और winbind के संचालन की जाँच करें:
 linux-test:~ # wbinfo -t checking the trust secret for domain LAB via RPC calls succeeded linux-test:~ # 

और हमें डोमेन में उपयोगकर्ताओं की एक सूची मिलती है:
एल
 inux-test:~ # wbinfo -u LAB/administrator LAB/guest LAB/krbtgt LAB/usertest linux-test:~ # 

आप wbinfo के माध्यम से डोमेन की स्थिति की जांच कर सकते हैं:
एल
 inux-test:~ # wbinfo -D LAB Name : LAB Alt_Name : lab.local SID : S-1-5-21-3914562201-450990341-53424453 Active Directory : Yes Native : Yes Primary : Yes linux-test:~ # wbinfo -P checking the NETLOGON dc connection succeeded linux-test:~ # 

सब ठीक है। अब सबसे महत्वपूर्ण जांच विंडोज 7 चलाने वाले वर्कस्टेशन का उपयोग करके हमारे नए सर्वर पर निर्देशिकाओं को खोलने की कोशिश करना है। हमारा वर्कस्टेशन डोमेन में शामिल है। हमें अपना नया सर्वर विंडोज ब्राउजर के नेटवर्क टैब में देखना चाहिए, या तो एक नाम या आईपी पते को निर्दिष्ट करके:



अब आप हमारे सर्वर की स्थापना के लिए आगे की प्रक्रियाओं के लिए आगे बढ़ सकते हैं। भविष्य में, हम GNU / Linux वितरण के आधार पर वर्णित प्रक्रिया की कुछ बारीकियों पर विचार करेंगे, और सांबा सर्वर तक पहुँच अधिकार स्थापित करने पर ध्यान देंगे।
कार्य सूचना और कम्प्यूटिंग केंद्र MPEI के आधार पर किया गया था।

Source: https://habr.com/ru/post/In143190/


All Articles