NOPASSWD
निर्देश का उपयोग करें
आप NOPASSWD
अपनी /etc/sudoers
फ़ाइल में निर्देश का उपयोग कर सकते हैं ।
यदि आपका उपयोगकर्ता कहा जाता है user
और आपके मेजबान को बुलाया जाता है, host
तो आप इन पंक्तियों को जोड़ सकते हैं /etc/sudoers
:
user host = (root) NOPASSWD: /sbin/shutdown
user host = (root) NOPASSWD: /sbin/reboot
यह उपयोगकर्ता user
को host
पासवर्ड दर्ज किए बिना वांछित कमांड चलाने की अनुमति देगा । अन्य सभी sudo
एड कमांड को अभी भी पासवर्ड की आवश्यकता होगी।
आदेशों में निर्दिष्ट sudoers
फ़ाइल चाहिए पूरी तरह से योग्य हो (यानी आदेश का निरपेक्ष पथ का उपयोग कर चलाने के लिए) में वर्णित के रूप sudoers
आदमी पेज । एक सापेक्ष पथ प्रदान करना एक वाक्यविन्यास त्रुटि माना जाता है।
यदि कमांड एक अनुगामी /
चरित्र के साथ समाप्त होता है और किसी निर्देशिका को इंगित करता है, तो उपयोगकर्ता उस निर्देशिका में किसी भी कमांड को चलाने में सक्षम होगा (लेकिन किसी भी उप-निर्देशिका में नहीं)। निम्नलिखित उदाहरण में, उपयोगकर्ता user
निर्देशिका में किसी भी कमांड को चला सकता है /home/someuser/bin/
:
user host = (root) NOPASSWD: /home/someuser/bin/
नोट: फ़ाइल visudo
को संपादित करने के लिए हमेशा sudoers
यह सुनिश्चित करने के लिए कमांड का उपयोग करें कि आप अपने आप को सिस्टम से बाहर लॉक न करें - बस अगर आप गलती से sudoers
फाइल में कुछ गलत लिख देते हैं। visudo
आपकी संशोधित फ़ाइल को एक अस्थायी स्थान पर सहेजेगा और केवल वास्तविक sudoers
फ़ाइल को अधिलेखित करेगा यदि संशोधित फ़ाइल त्रुटियों के बिना पार्स की जा सकती है।
/etc/sudoers.d
संशोधित करने के बजाय का उपयोग करना/etc/sudoers
संपादन के लिए एक विकल्प के रूप में /etc/sudoers
फ़ाइल, आप में एक नई फ़ाइल के लिए दो पंक्तियों में जोड़ सकते हैं /etc/sudoers.d
जैसे /etc/sudoers.d/shutdown
। यह sudo
अधिकारों में विभिन्न परिवर्तनों को अलग करने का एक सुंदर तरीका है और sudoers
आसान उन्नयन के लिए मूल फ़ाइल को भी अछूता नहीं छोड़ता है ।
नोट: फिर से, आपको visudo
यह सुनिश्चित करने के लिए फ़ाइल को संपादित करने के लिए कमांड का उपयोग करना चाहिए कि आप सिस्टम से बाहर खुद को लॉक न करें:
sudo visudo -f /etc/sudoers.d/shutdown
यह स्वचालित रूप से यह भी सुनिश्चित करता है कि नई फ़ाइल के स्वामी और अनुमतियां सही तरीके से सेट की गई हैं।
अगर sudoers
गड़बड़ होती है
यदि आपने visudo
अपनी फ़ाइलों को संपादित करने के लिए उपयोग नहीं किया है और फिर गलती से /etc/sudoers
किसी फ़ाइल को गड़बड़ या गड़बड़ कर दिया है, /etc/sudoers.d
तो आप बंद हो जाएंगे sudo
।
समाधान उन फ़ाइलों को ठीक करने के लिए हो सकता है pkexec
जिनका उपयोग करना एक विकल्प है sudo
।
ठीक करने के लिए /etc/sudoers
:
pkexec visudo
ठीक करने के लिए /etc/sudoers.d/shutdown
:
pkexec visudo -f /etc/sudoers.d/shutdown
यदि स्वामित्व और / या अनुमतियाँ किसी भी sudoers
फ़ाइल के लिए गलत हैं , तो फ़ाइल को अनदेखा कर दिया जाएगा sudo
ताकि आप भी इस स्थिति में स्वयं को बंद कर सकें। फिर से, आप इसे pkexec
ठीक करने के लिए उपयोग कर सकते हैं ।
सही अनुमतियाँ इस तरह होनी चाहिए:
$ ls -l /etc/sudoers.d/shutdown
-r--r----- 1 root root 86 Jul 16 15:37 /etc/sudoers.d/shutdown
स्वामित्व और अनुमतियाँpkexec
ठीक करने के लिए इस तरह का उपयोग करें :
pkexec chown root:root /etc/sudoers.d/shutdown
pkexec chmod 0440 /etc/sudoers.d/shutdown