Computer >> कंप्यूटर >  >> स्मार्टफोन्स >> Linux

sudo कमांड और कॉन्फ़िगरेशन फ़ाइल का परिचय

यह मार्गदर्शिका बताएगी कि sudo कमांड क्या है, लिनक्स में इसका उपयोग कैसे करें, और इसकी कॉन्फ़िगरेशन फ़ाइल को कैसे संपादित करें।

उबंटू लिनक्स उपयोगकर्ता लिनक्स में "सुडो" कमांड का उपयोग करने से परिचित हो सकते हैं। यह लिनक्स में एक बहुत ही उपयोगी विशेषता है जो लिनक्स मशीन के व्यवस्थापक को किसी विशेष उपयोगकर्ता या उपयोगकर्ताओं के समूह को "रूट" विशेषाधिकार प्रदान करने की अनुमति देता है। इसे कॉन्फ़िगर भी किया जा सकता है ताकि यह विशेषाधिकार एक या अधिक कमांड तक सीमित हो। उदाहरण के लिए, उबंटू टीम ने रूट उपयोगकर्ता को डिफ़ॉल्ट रूप से लॉग इन करने से रोकने का फैसला किया है और इसके बजाय उपयोगकर्ताओं को प्रशासनिक कार्यों को करने के लिए सूडो का उपयोग करने की अनुमति दी है। इसलिए यदि आप उबंटू लिनक्स का उपयोग कर रहे हैं, तो सूडो विशेषाधिकार स्थापित किए गए हैं ताकि आपके पास पूर्ण "रूट" विशेषाधिकार हों। आइए आपकी मशीन पर सूडो विशेषाधिकारों को स्थापित करने और कॉन्फ़िगर करने पर करीब से नज़र डालें। आगे बढ़ने से पहले कृपया ध्यान दें कि आपको उत्पादन सर्वर पर निम्नलिखित का प्रयास नहीं करना चाहिए। कृपया इस ट्यूटोरियल के उदाहरणों को एक परीक्षण मशीन पर आज़माएँ और उत्पादन सर्वर पर इसे आज़माने से पहले सूडो से परिचित हों। sudo एक बहुत शक्तिशाली उपकरण है और इसे अत्यधिक सावधानी के साथ प्रयोग किया जाना चाहिए।

मेरी जानकारी में "सुडो" पैकेज सभी लिनक्स वितरणों के साथ आता है। इसलिए मैं इंस्टॉलेशन को छोड़ दूंगा और सीधे कॉन्फ़िगरेशन पर जाउंगा। इस ट्यूटोरियल के लिए मैं एक Red Hat Linux मशीन का उपयोग करूँगा। अपने Linux मशीन में रूट के रूप में लॉग इन करें और कमांड लाइन पर निम्न कमांड चलाएँ:

# विसुडो

उपरोक्त आदेश "सुडो" कॉन्फ़िगरेशन को खोलेगा, जो कि /etc/sudoers . पर है , अपनी मशीन पर डिफ़ॉल्ट संपादक का उपयोग करके, जो विम ऑन माइन है। नीचे उस अनुभाग तक स्क्रॉल करें जहां आपको निम्न पाठ दिखाई देता है:

रूट    ALL=(ALL) ALL

इस सुडो कॉन्फ़िगरेशन सिंटैक्स का गोलमाल इस प्रकार है। आप पहले 'उपयोगकर्ता' को परिभाषित करते हैं जिसके लिए आप sudo सेट करना चाहते हैं। फिर 'होस्टनाम' आता है जहां कमांड को चलाने की अनुमति है। यह एक विशिष्ट होस्टनाम या "ऑल" हो सकता है जैसा कि ऊपर दिए गए उदाहरण में है। और आखिरी 'कमांड' है जिसके लिए आप 'उपयोगकर्ता' को प्रशासनिक विशेषाधिकार देना चाहते हैं।

कॉन्फ़िगरेशन पर वापस जाएं। विम में ऊपर दिखाई गई रेखा तक नीचे स्क्रॉल करें और o . अक्षर को हिट करें एक नई लाइन जोड़ने के लिए अपने कीबोर्ड पर। अब केल्विन . के स्थान पर निम्न पाठ जोड़ें अपने स्वयं के उपयोगकर्ता नाम के साथ:

केल्विन ALL=(ALL) ALL

निम्न कुंजी संयोजन का उपयोग करके फ़ाइल को सहेजें और बाहर निकलें:

ईएससी :wq

वापसी दबाएं (दर्ज करें) इन निर्देशों को लागू करने के लिए कुंजी। हमने अब उपयोगकर्ता को 'केल्विन' सूडो का उपयोग करके सभी प्रशासनिक विशेषाधिकार दिए हैं। एक नई टर्मिनल विंडो खोलें और उस उपयोगकर्ता के रूप में लॉग इन करें जिसे आपने sudo विशेषाधिकार दिए हैं। आइए परीक्षण करें कि क्या अपाचे वेब सर्वर को उपयोगकर्ता 'केल्विन' के रूप में पुनः आरंभ करके नई अनुमतियों को सही ढंग से सेटअप किया गया है:

sudo /etc/init.d/httpd पुनरारंभ करें
पासवर्ड:
httpd को रोकना:                                      [  ठीक  ]
httpd शुरू करना:                   

सिस्टम अब आपको पासवर्ड के लिए संकेत देगा। अपने उपयोगकर्ता नाम के लिए पासवर्ड दर्ज करें। और वोइला! अपाचे वेब सर्वर को अब पुनरारंभ करना चाहिए। आप इसे किसी अन्य प्रशासनिक कार्य के लिए उपयोग कर सकते हैं। किसी उपयोगकर्ता को पूर्ण विशेषाधिकार देना हमेशा सर्वोत्तम विचार नहीं हो सकता है। तो आप प्रशासनिक विशेषाधिकारों के साथ उपयोगकर्ता को कुछ कमांड तक सीमित कर सकते हैं। मान लें कि आप चाहते हैं कि उपयोगकर्ता 'केल्विन' को केवल अपाचे वेब सर्वर को पुनरारंभ करने की अनुमति दी जाए। visudo . का उपयोग करके sudo कॉन्फ़िगरेशन फ़ाइल खोलें इस तरह दिखने के लिए आपके द्वारा पहले दर्ज की गई लाइन को कमांड और संपादित करें:

केल्विन ALL=(ALL) /etc/init.d/httpd पुनरारंभ करें

फ़ाइल को सहेजें और बाहर निकलें। उपयोगकर्ता 'केल्विन' के रूप में टर्मिनल में लॉग इन करें। अब अपाचे को सुडो के साथ पुनः आरंभ करने का प्रयास करें:

# sudo /etc/init.d/httpd पुनरारंभ करें
पासवर्ड:
httpd को रोकना:[ OK ]
httpd शुरू करना:[ OK ]

महान। यह काम करता हैं। अब वेब सर्वर को रोकने का प्रयास करें:

# sudo /etc/init.d/httpd स्टॉप
पासवर्ड:
क्षमा करें, उपयोगकर्ता केल्विन को कॉमन पर रूट के रूप में '/etc/init.d/httpd स्टॉप' निष्पादित करने की अनुमति नहीं है।

तो जैसा कि आप देख सकते हैं, उपयोगकर्ता 'केल्विन' केवल वही कर सकता है जो हम उसे करने की अनुमति देते हैं, इससे ज्यादा कुछ नहीं। आप sudoers . में अनेक आदेश जोड़ सकते हैं अल्पविराम द्वारा अलग की गई फ़ाइल। इसलिए यदि आप 'केल्विन' को वेब सर्वर को रोकने और पुनः आरंभ करने की अनुमति देना चाहते हैं तो आपका कॉन्फ़िगरेशन इस तरह पढ़ेगा:

केल्विन ALL=(ALL) /etc/init.d/httpd पुनरारंभ,/etc/init.d/httpd स्टॉप

अब वेब सर्वर को रोकने का प्रयास करें, और इसे काम करना चाहिए:

# sudo /etc/init.d/httpd स्टॉप
पासवर्ड:
httpd को रोकना:[ठीक है]

सूडो की एक और विशेषता जो बहुत उपयोगी है, खासकर यदि आपको शेल स्क्रिप्ट का उपयोग करके एक प्रशासनिक कार्य करने की आवश्यकता है, तो पासवर्ड के लिए संकेत दिए बिना सूडो विशेषाधिकार सेट करना है। याद रखें कि साझा किए गए उपयोगकर्ता नाम का उपयोग करके उत्पादन मशीन पर ऐसा करना उचित नहीं हो सकता है, क्योंकि यदि आपके उपयोगकर्ता नाम का पासवर्ड गलत हाथों में पड़ जाता है तो यह परेशानी का कारण बन सकता है। इसलिए इस सुविधा का सावधानी से उपयोग करें।

sudoersखोलें इस तरह दिखने के लिए आपके द्वारा पहले दर्ज की गई पंक्ति को फ़ाइल और संपादित करें:

केल्विन ALL=(ALL) /etc/init.d/httpd पुनरारंभ NOPASSWD:ALL

कॉन्फ़िगरेशन का अंतिम भाग sudo को पासवर्ड के लिए संकेत या अपेक्षा न करने का निर्देश देता है, और उपयोगकर्ता को उस कमांड को निष्पादित करने की अनुमति देता है जो इसे प्रशासनिक विशेषाधिकारों के साथ सौंपा गया है। फ़ाइल सहेजें और अपने टेक्स्ट एडिटर से बाहर निकलें और अपाचे को पुनः आरंभ करने का प्रयास करें:

# sudo /etc/init.d/httpd पुनरारंभ करें
httpd को रोकना:[ OK ]
httpd शुरू करना:[ OK ]

बहुत अधिक अनुकूलन है जो sudo कॉन्फ़िगरेशन फ़ाइल में किया जा सकता है। हमने अभी इसके एक छोटे से हिस्से को देखा है। हालाँकि, यह आपको एक शुरुआत देनी चाहिए। दोबारा, कृपया इसे सावधानी के साथ प्रयोग करें।


  1. Linux में होस्ट फ़ाइल का उपयोग और संपादन कैसे करें

    यदि आपने कभी लिनक्स मशीन से कई सर्वर प्रबंधित किए हैं या किसी प्रकार की होम लैब स्थापित की है, तो आप जानते हैं कि लिनक्स में होस्ट फ़ाइल कितनी उपयोगी हो सकती है। हालाँकि, आप में से कुछ को यह भी नहीं पता होगा कि यह मौजूद है, अपने जीवन को आसान बनाने के लिए इसका लाभ उठाने का तरीका तो कम ही है। इसलिए हम

  1. फाइंड कमांड का उपयोग करके लिनक्स में फाइल कैसे खोजें

    लिनक्स find कमांड लिनक्स सिस्टम में सबसे महत्वपूर्ण और आसान कमांड में से एक है। जैसा कि नाम से पता चलता है, यह आपके लिनक्स पीसी पर फाइलों को ढूंढ सकता है जो आपके द्वारा निर्धारित की गई शर्तों और चर के आधार पर बहुत अधिक है। आप find का उपयोग करके अनुमतियों, उपयोगकर्ताओं, समूहों, फ़ाइल प्रकार, दिनांक,

  1. HTML और CSS के लिए शुरुआती मार्गदर्शिका

    यद्यपि आप आज हमारी साइटों को शक्ति प्रदान करने वाली कई अलग-अलग प्रौद्योगिकियां पा सकते हैं, संपूर्ण इंटरनेट पर दो सबसे महत्वपूर्ण फाइलें HTML और CSS हैं। हां, अगर आपको कुछ जटिल चाहिए, तो आपको उनके साथ जाने के लिए और तकनीकों की भी आवश्यकता होगी। लेकिन अगर आप केवल एक साधारण व्यक्तिगत वेबपेज बनाना चाहत