हमें सीधे sudoers फ़ाइल को संशोधित करने के बजाय visudo का उपयोग करने की आवश्यकता क्यों है?


83

मैं समझता हूं कि यदि आप संशोधित करना चाहते हैं कि कौन उपयोग कर सकता है sudoऔर वे इसके साथ क्या कर सकते हैं जो आपको उपयोग करना चाहिए visudo। मुझे पता है कि मैं सीधे / etc / sudoers फ़ाइल को सीधे संशोधित करने वाला नहीं हूँ।

ऐसा क्या है visudoजो फ़ाइल को सीधे संशोधित नहीं करता है? क्या गलत हो सकता हैं?

जवाबों:


104

visudoफ़ाइल को ओवरराइट करने से पहले फ़ाइल सिंटैक्स की जाँच करता है sudoers

यदि आप एक सादे संपादक का उपयोग करते हैं, तो वाक्य रचना को गड़बड़ करें, और सहेजें ... sudo(शायद) काम करना बंद कर देगा, और, चूंकि /etc/sudoersकेवल rootआपके द्वारा संशोधित किया जा रहा है , आप फंस गए हैं (जब तक कि आपके पास रूट प्राप्त करने का दूसरा तरीका नहीं है)।

इसके अतिरिक्त यह सुनिश्चित करता है कि संपादन एक परमाणु संचालन होगा। यह लॉकिंग महत्वपूर्ण है यदि आपको यह सुनिश्चित करने की आवश्यकता है कि कोई अन्य आपके सावधानीपूर्वक कॉन्फ़िगर किए गए परिवर्तनों को गड़बड़ कर सकता है। रूट के रूप में अन्य फ़ाइलों का संपादन के लिए के अलावा /etc/sudoersवहाँ sudoeditआदेश जो भी इस तरह के संपादन संघर्ष से बचाव।


3
वाह, सूडिट के बारे में कभी नहीं पता था। यह ओएस एक्स पर काम नहीं करता है, तो मुझे लगता है कि यह एक GNU उपकरण है? वैसे भी, यहाँ अच्छी जानकारी। मैं हमेशा मैन्युअल रूप से संपादित करता था और कभी कोई समस्या नहीं थी - मुझे अब समझ में आया कि यह सिर्फ भाग्य था और उपकरण तबाही को रोकने में मदद कर सकता है। धन्यवाद!
हरव

2
@Harv। कोई GNU नहीं है sudoऔर OS X में GNU उपकरण हैं। जैसा कि सुडो को पहली बार एक ओपन सोर्स एप्लिकेशन के रूप में बनाया गया था, संभवतः उनके कई कार्यान्वयन होने का कोई कारण नहीं है। sudoऔर sudoeditएक ही आदेश हैं, जब कहा जाता है के रूप में sudoव्यवहार करता है । मेरा मानना ​​है कि यह बस इतना ही है कि OS X लिंक जोड़ना भूल गया , लेकिन आपको अभी भी उसी व्यवहार को प्राप्त करने के लिए argv [0] सेट के साथ उपयोग या कॉल करने में सक्षम होना चाहिए । sudo -esudoeditsudoedit -> sudosudo -esudosudoedit
स्टीफन चेजलस

दिलचस्प है, visudoडिफ़ॉल्ट रूप से नैनो का उपयोग करता है।
टिम

3
@ समय: "वास्तविक" डिफ़ॉल्ट vi है, लेकिन इसे कुछ और उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। तो नैनो वास्तव में आपके डिस्ट्रो / सेटअप पर डिफ़ॉल्ट हो सकती है। मैन पेज देखें ।
Mat

2
@ AngularInDepth.com, परिणाम बहुत स्पष्ट हैं। यदि आप एक अवैध sudoers फ़ाइल सहेजते हैं, तो सिस्टम इसे पार्स नहीं कर पाएगा। इसलिए यदि मैं sudo vim /etc/sudoersवाक्य रचना करता हूं और बॉट करता हूं, तो मैं sudo vim /etc/sudoersइसे ठीक करने के लिए फिर से सक्षम नहीं होगा । प्रभावी रूप से, sudo के माध्यम से विशेषाधिकारों को बढ़ाने की सभी क्षमता समाप्त हो जाएगी क्योंकि सिस्टम फ़ाइल को पार्स करने में सक्षम नहीं होगा।
स्पेंसर डी

23

विस्कोस मैन पेज से:

एक साथ कई एडिट्स के खिलाफ सुडोर्स फाइल को विडो लॉक करता है, बेसिक सैनीट चेक प्रदान करता है, और पार्स एरर्स की जांच करता है। यदि वर्तमान में sudoers फ़ाइल संपादित की जा रही है, तो आपको बाद में पुन: प्रयास करने के लिए एक संदेश प्राप्त होगा।

इस उत्तर को भी सर्वरफॉल्ट से जांचें ।

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