कमांड लाइन से sudoers में AD डोमेन उपयोगकर्ता जोड़ें


10

मैं डेटाबेस सर्वर के रूप में उपयोग के लिए एक Ubuntu 11.04 सर्वर VM स्थापित कर रहा हूं। यदि हम लोग विंडोज़ क्रेडेंशियल का उपयोग करके लॉग इन कर सकते हैं तो शायद यह सभी के जीवन को आसान बना देगा और संभवत: वर्तमान एडी-चालित सुरक्षा के साथ मशीन का काम भी हम कहीं और कर सकते हैं।

इसका पहला चरण वास्तव में पूरा करना आसान था - apt-get install likewise-openऔर मैं व्यापार में बहुत अधिक था। समस्या यह है कि मैं sudoers समूहों में हमारे प्रवेश पा रहा हूं - मुझे लेने के लिए कुछ भी नहीं मिल रहा है। मैंने कोशिश की:

a) usermod -aG sudoers [username]
b) sudoers फ़ाइल में कई स्वरूपों (DOMAIN \ user, उपयोगकर्ता @ डोमेन) में उपयोगकर्ता नाम जोड़ना।

जिनमें से कोई भी नहीं लग रहा था, मुझे अभी भी बताया गया है कि "DOMAIN \ उपयोगकर्ता sudoers फ़ाइल में नहीं है। इस घटना की सूचना दी जाएगी।"

तो, मैं गैर-स्थानीय उपयोगकर्ताओं को सूडर्स में कैसे जोड़ूं?

जवाबों:


6

मैं इस समस्या का सामना करता हूं और यहां मेरा समाधान है:

संपादित करें /etc/sudoers: निम्नलिखित प्रविष्टियों के साथ

पहले कमांड आईडी का उपयोग करके एड्यूसर की जांच करें

#id <AD user>( #id domain\\aduser01 )

खान पर परिणाम:

SMB\aduser01@linux01:~/Desktop$ id smb\\aduser02
uid=914883676(SMB\aduser02) gid=914883073(SMB\domain^users) groups=914883073(SMB\domain^users),1544(BUILTIN\Administrators),1545(BUILTIN\Users),914883072(SMB\domain^admins)

getent passwdऔर gid NUMBERSमेरे लिए काम नहीं करता है। DOMAIN\\domain^usersमेरे लिये कार्य करता है

%SMB\\domain^users ALL=(ALL) ALL

जैसा कि हम सभी जानते हैं कि व्यक्तिगत विज्ञापन उपयोगकर्ता भी काम करता है

SMB\\<aduser01> ALL=(ALL) ALL

2

हमारे पास .local sufix के साथ एक लंबा डोमेन नाम है,

प्रतिद्वंद्वी

%domainname\\group ALL=(ALL) ALL

और न ही

%domainname.local\\group ALL=(ALL) ALL

काम किया ...

लेकिन अगर मैं केवल इस तरह ग्रुपनाम का उपयोग करता हूं:

%Domain^Admins ALL=(ALL) ALL

यह काम करता हैं।


यह वह समाधान था जो अंत में काम आया। %Domain^Admins ALL=(ALL) ALL
mjp

2

अन्य सुझावों के साथ समस्या यह है कि

  • वे केवल तब काम करते हैं जब आपके पास कॉर्पोरेट लैन (या वीपीएन) तक पहुंच होती है
  • आपको हर समय हर कंप्यूटर पर sudoers फ़ाइल को बनाए रखना होगा
  • एक बोनस के रूप में, उन्होंने मेरे लिए काम नहीं किया - बिल्कुल

इसके बजाय, मुझे कुछ ऐसा चाहिए था

  • दोनों क्रेडेंशियल और sudo पहुँच को कैश करता है
  • केंद्रीय रूप से प्रबंधित है

वास्तविक समाधान SSSD का उपयोग कर रहा है और AD स्कीमा का विस्तार कर रहा है। इस तरह SSSD समय-समय पर sudo सेटिंग्स और उपयोगकर्ता क्रेडेंशियल्स प्राप्त करता है और उनमें से एक स्थानीय कैश रखता है। सुडो नियमों को तब AD ऑब्जेक्ट्स में संग्रहीत किया जाता है, जहाँ आप कंप्यूटर, उपयोगकर्ताओं और आदेशों के नियमों को प्रतिबंधित कर सकते हैं, यहां तक ​​कि - यह सब वर्कस्टेशन पर कभी भी sudoers फाइल को छुए बिना।

सटीक ट्यूटोरियल यहां समझाने के लिए बहुत लंबा है, लेकिन आप यहां चरण-दर-चरण मार्गदर्शिका और स्वचालन के साथ मदद करने के लिए कुछ स्क्रिप्ट पा सकते हैं:

टी एल; डॉ:

Sudo की नवीनतम रिलीज़ को पकड़ो , doc / schema .ctiveDirectory फ़ाइल प्राप्त करें , फिर इसे आयात करें (अपने डोमेन नाम के अनुसार डोमेन पथ को संशोधित करना सुनिश्चित करें):

ldifde -i -f schema.ActiveDirectory -c "CN=Schema,CN=Configuration,DC=X" "CN=Schema,CN=Configuration,DC=ad,DC=foobar,DC=com" -j .

ADSI संपादन के साथ इसे सत्यापित करें: स्कीमा नामकरण संदर्भ खोलें और sudoRole वर्ग देखें।

अब अपने डोमेन रूट पर sudoers OU बनाएं , यह OU आपके सभी लिनक्स वर्कस्टेशन के लिए सभी sudo सेटिंग्स रखेगा। इस OU के तहत, एक sudoRole ऑब्जेक्ट बनाएँ। SudoRole ऑब्जेक्ट बनाने के लिए आपको ADSI एडिट का उपयोग करना होगा, लेकिन एक बार निर्मित होने के बाद, आप इसे संशोधित करने के लिए सक्रिय निर्देशिका उपयोगकर्ता और कंप्यूटर का उपयोग कर सकते हैं ।

मान लेते हैं कि मेरे पास एक कंप्यूटर है जिसका नाम है foo32linux , एक उपयोगकर्ता जिसे stewie.griffin कहा जाता है और मैं उसे उस आज्ञा पर sudo के साथ सभी कमांड चलाने देना चाहता हूं। इस स्थिति में, मैं sudoers OU के अंतर्गत एक sudoRole ऑब्जेक्ट बनाता हूं । सुडोल के लिए आप अपने इच्छित किसी भी नाम का उपयोग कर सकते हैं - जब से मैं प्रति-कंप्यूटर नियमों का उपयोग करता हूं, तब तक मैं कंप्यूटर के नाम के साथ चिपका रहता हूं। अब इसकी विशेषताएं इस प्रकार निर्धारित करें:

  • सूदहॉस्ट : foo32linux
  • सुडोकमांड : सभी
  • sudoUser : stewie.griffin

आदेशों के लिए आप विशिष्ट प्रविष्टियों का उपयोग कर सकते हैं, जैसे / बिन / कम या जो भी।

SSSD

अपने /etc/sssd/sssd.conf में , कम से कम जोड़ें :

[sssd]
services = nss, pam, sudo

[domain/AD.FOOBAR.COM]
cache_credentials = True

SSSD हर कुछ घंटों में अपडेट किए गए नियमों के साथ अपने स्थानीय कैश को रीफ्रेश करता है, लेकिन इसे जांचने का सबसे सरल तरीका है कि कंप्यूटर को केवल रिबूट करें। फिर AD उपयोगकर्ता के साथ लॉग इन करें और जांचें:

sudo -l

इसमें उस उपयोगकर्ता और कंप्यूटर से आपके द्वारा जोड़े गए सभी संबंधित एंट्रीज़ को सूचीबद्ध करना चाहिए। बहुत आसान!


1
यह लंबा हो सकता है लेकिन, क्योंकि लिंक अमान्य हो जाते हैं, यह एक नियम है कि संदर्भ के लिए लिंक के साथ आवश्यक भागों को यहां शामिल किया जाना चाहिए।
TheWanderer

वास्तव में, मैंने आवश्यक भागों को जोड़ा, अर्थात अवधारणा। मैं कुछ अन्य हिस्सों को चेरी-पिक कर सकता था, लेकिन वे बाकी के बिना और बड़ी तस्वीर को समझने के बिना बेकार हैं, इसलिए मैं इस बिंदु को देखने में विफल रहा। यह अच्छे से ज्यादा नुकसान करेगा।
bviktor

AskUbuntu का एक नियम है कि जो कोई भी व्यक्ति आता है उसे आपके उत्तर को देखने और बाहरी साइट पर जाने के बिना अपने मुद्दे को हल करने में सक्षम होने की आवश्यकता होती है।
द वेंडरर 20

1
अधिक प्रासंगिक जानकारी जोड़ी गई।
bviktor

1

इस विषय पर मुझे सबसे अच्छी जानकारी यहाँ मिल सकती है:

http://www.mail-archive.com/likewise-open-discuss@lists.likewisesoftware.com/msg00572.html

यह मूल रूप से आपको अपनी /etc/sudoersफाइल को सही कॉन्फ़िगरेशन के साथ संशोधित करने के लिए कहता है ताकि आपके व्यवस्थापक समूह के लोगों को सभी विशेषाधिकार प्राप्त हो सकें।

यदि आपको उपयोगकर्ता द्वारा चयनात्मक और प्रतिबंधित होने की आवश्यकता है, तो आप ऐसा कर सकते हैं। लेकिन यह चेतावनी देता है कि आपको getend passwdकमांड सिस्टम का उपयोग करके यह पता लगाना ज़रूरी है कि लिनक्स सिस्टम पर उपयोगकर्ता का नाम क्या है।


धन्यवाद वास्तव में यह नहीं पता लगा सका कि कहाँ देखना है। रिकॉर्ड के लिए, DOMIAN \\ उपयोगकर्ता नाम व्यक्तियों के लिए काम करता है।
व्याट बार्नेट

0

Centify direct का उपयोग करके मैंने डोमेन यूजर को / etc / sudoers फ़ाइल में जोड़ा है।

(डोमेन उपयोगकर्ता) ALL = (ALL) ALL


0

मैं कॉमन कमांड का इस्तेमाल करता हूं

sudo usermod -a -G sudo DOMAIN\username 

और के DOMAIN\userसाथ बदलें DOMAIN\\\username

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