/etc/sudoers.d/ में सीधे स्थानीय सामग्री जोड़ने के बजाय विज़ोडा के माध्यम से सीधे सॉडर फाइल को संशोधित करना


32

क्या आप कृपया मुझे कुछ उदाहरणों पर और अधिक विस्तृत निर्देश /etc/sudoers.d/ पर भेज सकते हैं

मैं कुछ कमांड को कुछ कमांड को सूडो करने की अनुमति देना चाहूंगा, लेकिन एक बहु-उपयोगकर्ता मशीन पर उबंटू सुरक्षा मॉडल में अनावश्यक खामियों को पैदा करने के लिए उचित तरीके से नहीं।

प्राचीन समय में मैंने कुछ सरल सुडौल प्रथाएँ कीं, लेकिन जाहिर है अब /etc/sudoers.d/ एक अधिक उचित तरीका है और मैं इसे बेहतर ढंग से समझना चाहूँगा।

जवाबों:


43

जैसा कि यह प्रश्न कहता है, /etc/sudoersएक सिस्टम-वाइड कॉन्फ़िगरेशन फ़ाइल है जिसे सिस्टम अपग्रेड द्वारा स्वचालित रूप से बदला जा सकता है और अनुचित परिवर्तनों के लिए अत्यधिक नाजुक है। आप संभावित रूप से एक अनुचित परिवर्तन के साथ अपने सिस्टम को एक्सेस खो सकते हैं या अपने सिस्टम को अनबूट कर सकते हैं।

$ sudo cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#

(... some other content ...)

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

आप जो अपेक्षा कर सकते हैं, उसके विपरीत, #includedirनिर्देश एक टिप्पणी नहीं है । यह निर्देशिका sudoमें किसी भी फाइल को पढ़ने और पार्स करने के कारण होता है /etc/sudoers.d(जो '~' में समाप्त नहीं होता है और इसमें '' वर्ण '' होता है)।

$ ls -l /etc/sud*
-r--r----- 1 root root  755 sty 20 17:03 /etc/sudoers

/etc/sudoers.d:
total 7
-r--r----- 1 root root 958 mar 30  2016 README
$ sudo cat /etc/sudoers.d/README
#
# As of Debian version 1.7.2p1-1, the default /etc/sudoers file created on
# installation of the package now includes the directive:
# 
#   #includedir /etc/sudoers.d
# 
# This will cause sudo to read and parse any files in the /etc/sudoers.d 
# directory that do not end in '~' or contain a '.' character.
# 
# Note that there must be at least one file in the sudoers.d directory (this
# one will do), and all files in this directory should be mode 0440.
# 
# Note also, that because sudoers contents can vary widely, no attempt is 
# made to add this directive to existing sudoers files on upgrade.  Feel free
# to add the above directive to the end of your /etc/sudoers file to enable 
# this functionality for existing installations if you wish!
#
# Finally, please note that using the visudo command is the recommended way
# to update sudoers content, since it protects against many failure modes.
# See the man page for visudo for more information.
#

इसके विपरीत /etc/sudoers, /etc/sudoers.dसिस्टम के जीवित रहने के उन्नयन की सामग्री , इसलिए इसे संशोधित करने की तुलना में एक फ़ाइल बनाना बेहतर है /etc/sudoers

आप इस निर्देशिका में visudoकमांड के साथ फाइल एडिट करना चाह सकते हैं :

$ sudo visudo -f /etc/sudoers.d/veracrypt
  GNU nano 2.5.3        File: /etc/sudoers.d/veracrypt.tmp                      

# Users in the veracryptusers group are allowed to run veracrypt as root.
%veracryptusers ALL=(root) NOPASSWD:/usr/bin/veracrypt

कृपया ध्यान दें कि https://help.ubuntu.com/community/Sudoers में वर्णित के visudoबजाय एक अलग संपादक का उपयोग कर सकते हैंnano

यहाँ कुछ और लिंक दिए गए हैं जो मुझे उपयोगी लगे:


4
यह सच नहीं है कि फाइलों में गलतियां /etc/sudoers.dसुडो को नीचे नहीं ला सकती हैं। उन फाइलों को समाप्‍त कर दिया गया है /etc/sudoers। वही नियम उन फाइलों पर लागू होते हैं।
16

2
यह सही है कि आप अनुचित फ़ाइल द्वारा सिस्टम को नीचे ला सकते हैं, चाहे वह LESS LELELY हो। #includedir केवल एक सरल मूर्खता नहीं है - जबकि इसमें कुछ जाँच भी शामिल हैं इसलिए सबसे स्पष्ट त्रुटियों का पता लगाया जाएगा और आप आसानी से ठीक हो सकते हैं। हालांकि सावधान रहें - आप हमेशा अपने आप को एक तेज चाकू से चोट पहुंचा सकते हैं, इसलिए इसे सावधानी से
संभालें

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