sudo कमांड होस्टनाम की खोज करने की कोशिश कर रहा है


15

हाल ही में, मैंने sudoers फ़ाइल और hostname को / etc / hostname के माध्यम से बदल दिया है। इस फाइल को बदलने के बाद, मेरे sudo कमांड को बहुत समय लग रहा है। साथ ही, यह कहता है कि सूद मेजबान कजिन (मेरी मशीन का होस्टनाम) को हल करने में असमर्थ है।

क्यों सूदो को किसी चीज़ की अनुमति देने के लिए होस्टनाम जानना पड़ता है ??

मेरी sudoers फ़ाइल में एक कमांड है "Defaults env_reset"। मैंने कुछ इसी तरह के प्रश्न देखे, लेकिन संदर्भ यहाँ दूरस्थ लॉगिन नहीं है। त्रुटि एक स्थानीय होस्ट पर दिखाई दे रही है।

समस्या के लिए प्रारंभिक googling का कहना है कि / etc / मेजबान फ़ाइल में 127.0.0.1 के लिए वास्तविक होस्टनाम होना चाहिए। इससे मेरा मुद्दा ठीक हो गया। लेकिन मेरा वास्तविक सवाल यह है कि हमें सूडो के लिए इसकी आवश्यकता क्यों है ?? क्या सूडो को लॉगिन के स्थान पर ध्यान दिए बिना काम करना चाहिए।



@ ऑलिवरसालबर्ग मैंने सवाल को ठीक से रिप्रेजेंट किया है। कृपया मुझे बताएं कि क्या कुछ गलत है
prathmesh.kallurkar

जवाबों:


16

/etc/sudoersफ़ाइल कई सर्वरों के बीच वितरित किया जा करने में सक्षम होने के लिए बनाया गया है। इसे पूरा करने के लिए, फ़ाइल में प्रत्येक अनुमति में एक मेजबान भाग होता है।

यह आमतौर पर सेट होता है, ALL=जिसका अर्थ है कि अनुमति किसी भी सर्वर के लिए मान्य है, हालांकि इसे विशिष्ट मेजबानों पर सेट किया जा सकता है:

%sudo    kaagini=(ALL) ALL

सूडो के लिए पता है कि इस नियम को लागू किया जाना चाहिए, इसे होस्ट करने के लिए इसे चलाने की आवश्यकता है। यह एक कॉल का उपयोग करता है /etc/hostsजो सही होने पर निर्भर करता है, यही कारण है कि यह सही नहीं होने पर विफल रहता है।

यह तर्क दिया जा सकता है कि sudoहोस्ट की ALL=अनुमति के लिए सभी अनुमतियों के लिए सेट होने पर नाम लुकअप करने में परेशान होने की आवश्यकता नहीं है , लेकिन यह सिर्फ उस तरह से काम नहीं करता है - यह काम करने के लिए प्रकट होता है जहां यह चल रहा है नियमों को संसाधित करने से पहले ।

यह वास्तव में रखरखाव में आसानी के लिए है क्योंकि sudo केवल पढ़ता है / etc / sudoers यह देखने के लिए कि उपयोगकर्ता वर्तमान मशीन पर क्या कर सकता है। लेकिन 100 सर्वर वाले एक व्यवस्थापक के रूप में, इसे बनाए रखने के लिए 100 विभिन्न / आदि / sudoers फ़ाइलों की आवश्यकता हो सकती है। क्योंकि sudoers के पास अनुमतियों में एक होस्ट भाग होता है, आप एकल sudoers फ़ाइल को बनाए रख सकते हैं और इसे सभी मशीनों में वितरित कर सकते हैं, फिर भी उपयोगकर्ताओं पर प्रत्येक मशीन पर क्या कर सकते हैं, इस पर अभी भी ग्रैन्युलैरिटी है।


जवाब के लिए धन्यवाद। आप फिर से वितरित sudoers फ़ाइल पर आ सकते हैं ?? देखें, मेरे पास मशीनए पर एक ऑपरेटिंग सिस्टम चल रहा है। क्या इस ऑपरेटिंग सिस्टम के लिए अनुमतियाँ फ़ाइल (/ etc / sudoers) को अन्य मशीनों पर संग्रहीत किया जाना चाहिए। या आपके उत्तर का मतलब यह है कि sudo कमांड कुछ कह सकता है जैसे उपयोगकर्ता John मशीन से कर सकते हैं लेकिन मशीन से नहीं ??
प्रथ्मेश। कल्लकुर

यह वास्तव में रखरखाव में आसानी के लिए है। sudo केवल पढ़ता है / etc / sudoers यह देखने के लिए कि उपयोगकर्ता वर्तमान मशीन पर क्या कर सकता है। लेकिन 100 सर्वर वाले एक व्यवस्थापक के रूप में, इसे बनाए रखने के लिए 100 विभिन्न / आदि / sudoers फ़ाइलों की आवश्यकता हो सकती है। क्योंकि sudoers के पास अनुमतियों में एक होस्ट भाग होता है, आप एक एकल sudoers फ़ाइल को बनाए रख सकते हैं और इसे सभी मशीनों में वितरित कर सकते हैं, फिर भी उपयोगकर्ताओं को प्रत्येक मशीन पर क्या कर सकते हैं, इस पर अभी भी ग्रैन्युलैरिटी है।
पॉल

एक और सवाल ... क्या सर्वर प्रशासक को हर बार नई sudoers फ़ाइल को स्कैन करना पड़ता है, मुख्य sudoers फ़ाइल में कोई परिवर्तन होता है या sudo नेटवर्क पर sudoers फ़ाइल को बनाए रखने का एक तरीका प्रदान करता है ??
प्रथ्मेश। कल्लूरकर

@ prathmesh.kallurkar नहीं, वितरण की कोई अंतर्निहित पद्धति नहीं है, लेकिन यह लिनक्स है, इसलिए यह सामान्य है। इस भाग को करने के लिए आप rsync या scp या किसी अन्य टूल का उपयोग करेंगे।
पॉल

1
मैं विचार है कि एक बग होने के लिए (देखते हैं अगर केवल सभी sudo तो नियम अपने होस्ट नाम पता करने की जरूरत नहीं है) और इस प्रकार दर्ज किया है bugzilla.sudo.ws/show_bug.cgi?id=916
मथायस Urlichs

1

एक अन्य टिप्पणी में मथायस उरलिच द्वारा दायर लिंक बग रिपोर्ट के लिए धन्यवाद , निम्नलिखित कमांड ने मेरे लिए इस मुद्दे को हल किया:

Defaults !fqdn

इस लाइन को /etc/sudoersफाइल में रखें


-3

कठपुतली एक विन्यास प्रबंधन सॉफ्टवेयर है जो कठपुतली मैनिफ़ेस्ट फ़ाइलों को पढ़कर सर्वरों के एक बेड़े को स्वचालित रूप से कॉन्फ़िगर करने में सक्षम है। इस तरह की फ़ाइल में आपकी / etc / sudoers फ़ाइल की परिभाषा शामिल हो सकती है, जिसे बाद में आपके सभी कठपुतली "एजेंटों" को आपके कठपुतली "मास्टर" से बाहर किया जा सकता है। फिर सभी मेजबानों को आपकी / etc / sudoers फ़ाइल की एक ही प्रति मिलेगी, जिसमें HOST परिभाषाएँ शामिल हो सकती हैं (और चाहिए), इसलिए आप कुछ उपयोगकर्ताओं को कुछ होस्ट्स (लेकिन दूसरों पर नहीं) पर कुछ कमांड दे सकते हैं ।


3
क्या आप कठपुतली क्या है, यह बताने के लिए अपने उत्तर का विस्तार कर सकते हैं कि आप इसे कहाँ पाते हैं, और समस्या को हल करने के लिए आप इसका उपयोग कैसे करते हैं? समीक्षा कतार से
fixer1234

2
कृपया पढ़ें कि मैं कुछ युक्तियों के लिए सॉफ्टवेयर की सिफारिश कैसे करूं कि आपको सॉफ्टवेयर की सिफारिश करने के बारे में कैसे जाना चाहिए। आपको कम से कम एक लिंक प्रदान करना चाहिए, सॉफ़्टवेयर के बारे में कुछ अतिरिक्त जानकारी और प्रश्न में समस्या को हल करने के लिए इसका उपयोग कैसे किया जा सकता है।
DavidPostill
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.