प्रस्तावना
यह सूडर्स फाइल और सामान्य रूप से सूडो कमांड से जुड़ा एक काफी जटिल प्रश्न है।
ध्यान दें: मैंने उबंटू डेस्कटॉप 13.04 पर चलने वाली एक समर्पित मशीन पर ये बदलाव किए हैं, कि मैं विशुद्ध रूप से सीखने के उद्देश्यों के लिए उपयोग करता हूं। मैं समझता हूं कि NOPASSWD sudo को सक्षम करने के लिए यह एक बड़ा सुरक्षा जोखिम है।
सवाल
प्रारंभ में, sudoers फ़ाइल (/ etc / sudoers) में मेरा एकमात्र परिवर्तन एक पंक्ति थी, एक उपयोगकर्ता विनिर्देश जिसे सभी पासवर्डों को दर्ज किए बिना sudo के साथ चलने के लिए 'nicholsonjf' को सक्षम करना चाहिए था (देखें लाइन 'nicholsonjf' से शुरू होती है) '):
# 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.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
nicholsonjf ALL=NOPASSWD: ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
हालाँकि, यह काम नहीं किया, और मुझे हर बार अपने पासवर्ड के लिए संकेत दिया जाता था जब मैं 'nicholsonjf' के रूप में एक कमांड चलाता था। एक बार जब मैं सूडो और एडमिन समूहों से ol निकोलसनसजफ ’को हटाकर मैं केवल सूडो कमांड को 'निचलोलसनजफ' के रूप में चलाने में सक्षम था।
क्या कोई समझा सकता है कि इसने काम क्यों किया?
क्या ऐसा इसलिए है क्योंकि उपयोगकर्ता 'nicholsonjf' को 'व्यवस्थापक' और 'sudo' (sudoers फ़ाइल में नीचे देखा गया) के दो समूह विनिर्देशों से sudo अधिकार प्राप्त हो रहे थे, जो 'nicholsonjf' उपयोगकर्ता विनिर्देश को अधिलेखित कर रहे थे क्योंकि वे और नीचे थे विन्यास फाइल?