visudo -fकुछ उत्तरों में बताए अनुसार उपयोग करने का एक और लाभ एक संगत विकल्प है -cया --checkयह सत्यापित करता है कि आपके पास sudoers.d फ़ाइल या आपके द्वारा sudoers.d में डाली गई कोई अन्य फ़ाइल में अमान्य जानकारी नहीं है। यह स्वचालित उपकरण के साथ उल्लिखित मामलों में बहुत आसान है, क्योंकि आप उदाहरण के लिए चला सकते हैं
sudo visudo -c -q -f /home/myuser/mysudoers && \
sudo chmod 600 /home/myuser/mysudoers && \
sudo cp /home/myuser/mysudoers /etc/sudoers.d/mysudoers
यह चुपचाप फ़ाइल की जाँच करता है (-q के कारण कोई आउटपुट नहीं) और केवल अगर वह एक त्रुटि वापस नहीं करता है (निकास 1 का मतलब है एक अवैध sudoers फ़ाइल) तो यह फ़ाइल को sudoers.d में कॉपी कर देगा, इस तरह से आप फ़ाइल बना सकते हैं और पहली बार इसे सही करने के बिना इस पर काम करें ( sudo visudo -f /etc/sudoers.d/myfileयदि आपको इसे ठीक नहीं करना है तो सामग्री का उपयोग करना होगा या इसे सफल करना होगा)।
इसके अलावा, अन्य उत्तरों से इन कथनों के बारे में सावधानी बरतें ।
यह मेरा अनुभव रहा है कि इस निर्देशिका की फाइलों पर नियम / etc / sudoers की तुलना में कम हैं। इसमें शामिल हैं:
फ़ाइल में गलतियाँ sudo के विफल होने का कारण नहीं बनीं। हालाँकि, फ़ाइल को अनदेखा कर दिया गया था। अनुमति नियम कम सख्त दिखाई देते हैं। मैं लागू समूह को फ़ाइल पढ़ने की अनुमति देता हूं। मुझे विश्वास नहीं है कि / etc / sudo के साथ यह संभव है।
/Etc/sudoers.d में फ़ाइलों को / etc / sudoers के समान सिंटैक्स का पालन करने की आवश्यकता होती है, क्योंकि कवर के तहत सिस्टम बस "जीतने" में पिछले एक के साथ सभी फ़ाइलों को एक साथ समेटता है यदि उसी के लिए कई प्रविष्टियाँ हैं विलक्षण सेटिंग।
यदि अनुमतियाँ /etc/sudoers.d/ में फ़ाइलों पर बुरी तरह से गलत (विश्व लेखन योग्य) हैं, तो उन्हें नजरअंदाज कर दिया जाता है, यही कारण हो सकता है कि अमान्य फ़ाइलों को अनदेखा कर दिया जाए, अन्यथा आप sudoएक अमान्य फ़ॉयर होने से कमांड को गंभीरता से तोड़ सकते हैं । d सही अनुमतियों वाली फ़ाइल।
यदि आप गलती से किसी अन्य उपयोगकर्ता के रूप में या किसी रूट टर्मिनल से इस कमांड को चलाने के लिए लिखित अनुमति देते हैं, तो आप sudoers फ़ाइलों को विश्व पठनीय होने की अनुमति दे सकते हैं। यह भी टूट सकता है अगर फ़ाइल रूट: रूट के अलावा किसी और के स्वामित्व में है।
sudo chmod 644 /etc/sudoers.d/mysudoers
sudo chown root:root /etc/sudoers.d/mysudoers
मैंने अभी पुष्टि की है कि यदि मैं चलाता chmod o+w /etc/sudoers.d/vagrantहूं तो मैं योनि उपयोगकर्ता के रूप में sudo नहीं कर सकता, यह मुझे मेरे पासवर्ड के लिए संकेत देता है और फिर विफल हो जाता है।
जब मैं sudo -lलागू कमांड अनुमतियों को एक अन्य वैध sudo उपयोगकर्ता के रूप में देखने के लिए दौड़ा , तो मुझे फ़ाइल अनुमतियों के बारे में एक चेतावनी भी मिली। यह वही कमांड है जिसकी मैं पुष्टि करता था कि 'योनि' उपयोगकर्ता ने sudo खो दिया जब मैंने o+wउस उपयोगकर्ता sudo को अनुमति देते हुए फ़ाइल पर अनुमतियाँ लागू कीं।