सुडो कमांड का व्यवहार आपके सिस्टम पर / etc / sudoers फ़ाइल द्वारा नियंत्रित होता है। यह आदेश visudo कमांड के साथ संपादित किया जाना चाहिए, जो यह सुनिश्चित करने के लिए वाक्यविन्यास-जांच करता है कि आप फ़ाइल को गलती से नहीं तोड़ते हैं।
सुडो अनुमतियों के साथ उपयोगकर्ताओं को निर्दिष्ट करें
उबंटू को स्थापित करते समय आपके द्वारा बनाए गए उपयोगकर्ता खाते को व्यवस्थापक खाते के रूप में चिह्नित किया जाता है, जिसका अर्थ है कि यह सूडो का उपयोग कर सकता है। इंस्टॉलेशन के बाद आपके द्वारा बनाए गए कोई भी अतिरिक्त उपयोगकर्ता खाते या तो प्रशासक या मानक उपयोगकर्ता खाते हो सकते हैं - मानक उपयोगकर्ता खातों में सुडो अनुमति नहीं होती है।
आप Ubuntu के उपयोगकर्ता खाते टूल से ग्राफिकल रूप से उपयोगकर्ता खाता प्रकारों को नियंत्रित कर सकते हैं। इसे खोलने के लिए, पैनल पर अपने उपयोगकर्ता नाम पर क्लिक करें और उपयोगकर्ता खाते का चयन करें या डैश में उपयोगकर्ता खातों की खोज करें।
सुडो को अपना पासवर्ड भूल जाओ
डिफ़ॉल्ट रूप से, सूडो आपके टाइप करने के 15 मिनट बाद आपका पासवर्ड याद करता है। यही कारण है कि त्वरित उत्तराधिकार में सुडो के साथ एकाधिक आदेशों को निष्पादित करते समय आपको केवल अपना पासवर्ड टाइप करना होगा। यदि आप किसी और को अपने कंप्यूटर का उपयोग करने जा रहे हैं और आप चाहते हैं कि सुडो को पासवर्ड के लिए पूछने के लिए पूछें, तो निम्न आदेश निष्पादित करें और सूडो आपका पासवर्ड भूल जाएंगे:
sudo –k
हमेशा पासवर्ड के लिए पूछें
यदि आप हर बार जब आप सूडो का उपयोग करते हैं तो आपको संकेत दिया जाना चाहिए - उदाहरण के लिए, यदि अन्य लोगों के पास नियमित रूप से आपके कंप्यूटर तक पहुंच होती है - तो आप पासवर्ड-याद रखने वाले व्यवहार को पूरी तरह अक्षम कर सकते हैं।
यह सेटिंग, अन्य सुडो सेटिंग्स की तरह, / etc / sudoers फ़ाइल में निहित है। संपादन के लिए फ़ाइल खोलने के लिए टर्मिनल में visudo कमांड चलाएं:
sudo visudo
इसके नाम के बावजूद, यह आदेश उबंटू पर पारंपरिक वीआई संपादक के बजाय नए उपयोगकर्ता के अनुकूल नैनो संपादक के लिए डिफ़ॉल्ट है।
फ़ाइल में अन्य डिफ़ॉल्ट लाइनों के नीचे निम्न पंक्ति जोड़ें:
Defaults timestamp_timeout=0
पासवर्ड टाइमआउट बदलें
एक अलग पासवर्ड टाइमआउट सेट करने के लिए - या तो 30 मिनट की तरह लंबा या 5 मिनट की तरह एक छोटा सा - ऊपर दिए गए चरणों का पालन करें, लेकिन timestamp_timeout के लिए एक अलग मान का उपयोग करें। यह संख्या मिनटों की संख्या से मेल खाती है, सुडो आपके पासवर्ड को याद रखेगी। सुडो को 5 मिनट के लिए अपना पासवर्ड याद रखने के लिए, निम्न पंक्ति जोड़ें:
Default timestamp_timeout=5
कभी पासवर्ड के लिए न पूछें
आप सूडो को कभी भी पासवर्ड नहीं मांग सकते - जब तक आप लॉग इन होते हैं, तो आप जो भी कमांड सुडो के साथ उपसर्ग करते हैं, वह रूट अनुमतियों के साथ चलाएगा। ऐसा करने के लिए, अपनी सूडर्स फ़ाइल में निम्न पंक्ति जोड़ें, जहां उपयोगकर्ता नाम आपका उपयोगकर्ता नाम है:
username ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
पासवर्ड के बिना विशिष्ट आदेश चलाएं
आप विशिष्ट आदेश भी निर्दिष्ट कर सकते हैं जिन्हें सुडो के साथ चलाने पर कभी भी पासवर्ड की आवश्यकता नहीं होगी। ऊपर NOPASSWD के बाद "सभी" का उपयोग करने के बजाय, आदेशों का स्थान निर्दिष्ट करें। उदाहरण के लिए, निम्न पंक्ति आपके उपयोगकर्ता खाते को पासवर्ड के बिना apt-get और shutdown आदेश चलाने की अनुमति देगी।
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown
स्क्रिप्ट में सुडो के साथ विशिष्ट कमांड चलाते समय यह विशेष रूप से उपयोगी हो सकता है।
उपयोगकर्ता को केवल विशिष्ट आदेश चलाने की अनुमति दें
जबकि आप विशिष्ट कमांड को ब्लैकलिस्ट कर सकते हैं और उपयोगकर्ताओं को सूडो के साथ चलाने से रोक सकते हैं, यह बहुत प्रभावी नहीं है। उदाहरण के लिए, आप निर्दिष्ट कर सकते हैं कि कोई उपयोगकर्ता खाता शूडा के साथ शटडाउन कमांड चलाने में सक्षम नहीं है। लेकिन वह उपयोगकर्ता खाता sudo के साथ cp कमांड चला सकता है, शटडाउन कमांड की एक प्रति बना सकता है, और प्रतिलिपि का उपयोग कर सिस्टम को बंद कर सकता है।
विशिष्ट आदेशों को श्वेतसूची में एक और प्रभावी तरीका है। उदाहरण के लिए, आप एपीटी-गेट और शट डाउन कमांड का उपयोग करने के लिए मानक उपयोगकर्ता खाता अनुमति दे सकते हैं, लेकिन अब नहीं। ऐसा करने के लिए, निम्न पंक्ति जोड़ें, जहां मानक उपयोगकर्ता उपयोगकर्ता का उपयोगकर्ता नाम है:
standarduser ALL=/usr/bin/apt-get,/sbin/shutdown
sudo -U standarduser –l
लॉगिंग सुडो एक्सेस
आप निम्न पंक्ति जोड़कर सभी सुडो एक्सेस लॉग कर सकते हैं। / var / log / sudo सिर्फ एक उदाहरण है; आप अपनी पसंद के किसी भी लॉग फ़ाइल स्थान का उपयोग कर सकते हैं।
Defaults logfile=/var/log/sudo
sudo cat /var/log/sudo