उबंटू: मेरी सुडोल फ़ाइल को बोर्क किया गया, मैं इसे कैसे ठीक कर सकता हूं?


11

मैं अपनी /etc/sudoersफ़ाइल को संपादित कर रहा था और इसे सहेज लिया था, लेकिन इसमें एक सिंटैक्स त्रुटि है। अब मैं नहीं कर सकता sudo vim /etc/sudoersक्योंकि sudo को लगता है कि sudoers फ़ाइल मान्य नहीं है।

मैं इसे कैसे ठीक करूं?


जवाबों:


6

सिस्टम को सिंगल मोड में बूट करें और फिर उसे एडिट करें।


धन्यवाद, मेरा Ubuntu वर्चुअलबॉक्स के तहत चल रहा है। मैं एकल उपयोगकर्ता मोड में कैसे बूट करूं?
ब्रेडेट नट


मुझे बूट समय पर ग्रब के विकल्प नहीं मिलते हैं, लेकिन यह सीधे उबंटू में बूट होता है ...
ब्रेड बैसेट

<Ctrl> या कुछ और रखने की कोशिश करें।
इग्नासियो वाज़केज़-अब्राम्स

1
@red बस्सेट: जैसा कि vm कई बार Esc दबाता है जो आपको ग्रब में छोड़ देना चाहिए फिर रिकवरी मोड विकल्प चुनें।
23:95 बजे user9517

21

आपको कभी भी अपने sudoers फ़ाइल को सीधे संपादित नहीं करना चाहिए। उपयोग visudo- यह आपको भविष्य में इन वाक्यविन्यास त्रुटियों से बचाएगा।

इस स्थिति से उबरने के लिए, या तो सिंगल-यूजर मोड में बूट करें और फाइल को एक एलसीडी से बूट करें या बूट करें और वैसा ही करें।


धन्यवाद, मैं सोच रहा था कि विडो ने अलग तरीके से क्या किया। मुझे अब वर्कआउट करने की जरूरत है कि कैसे सिंगल यूजर मोड में बूट किया जाए। मेरा Ubuntu वर्चुअलबॉक्स के नीचे चल रहा है।
फ्रेड बैसेट

1
visudo आपको sudoers फ़ाइल की एक प्रति संपादित करने का कारण बनता है। यदि आप इसे सहेजते हैं तो यह केवल sudoers फ़ाइल को बदल देगा। यह आपके EDITOR चर द्वारा निर्दिष्ट संपादक का उपयोग करेगा, इसलिए आप अपने पसंदीदा संपादक का उपयोग कर सकते हैं। यदि आप फ़ाइल को संपादित करते हैं और यह सुनिश्चित करना चाहते हैं कि यह अभी भी मान्य है, तो इसे चेक मोड में भी उपयोग किया जा सकता है।
BillThor

2

जैसा कि Askubuntu पर इस तरह के सवाल में कहा गया है , यह एकल-उपयोगकर्ता मोड में रिबूट किए बिना अच्छी तरह से काम कर सकता है:

pkexec visudo

यह अब तक का सबसे आसान तरीका है, अगर यह उपलब्ध है।
बेलाक्वा

1

वैसे, यदि आपके पास रूट पासवर्ड है, तो बस इसके साथ लॉगिन करें और इसे वापस उसी तरह सेट करें जैसा कि यह था।

chmod 0440 / आदि / सूडो

यह आपको एकल-उपयोगकर्ता मोड में बूट करने से या सबसे खराब, लाइव एलसीडी से बूट करने से बचाएगा।

मेरे मामले में मैं सर्वर को नीचे लाने का जोखिम नहीं उठा सकता।


1

यदि आपने डॉकर इंस्टॉल किया है और आपका उपयोगकर्ता dockerसमूह का सदस्य है, तो आप आसानी से अपने आप को इस अचार से बाहर निकाल सकते हैं (और कुछ अन्य) बिना रिबूट या आप के पास:

  1. $ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
  2. apt-get update && apt-get install [vim|nano|whatever]
  3. cd ~/host.etc/
  4. समस्या फ़ाइलों को सुधारें
  5. exit

डोकर? क्या आपने डोकर को मूल प्रश्न में कहीं देखा है?
हिरण

2
जैसा कि प्रश्न पूछने वाले के पर्यावरण के बारे में कुछ भी निर्दिष्ट नहीं करता है और यह अब 2015 है, जिसका अर्थ है कि काफी लोगों ने डॉकर को स्थापित किया है, मैं समझता हूं कि न तो मेरे प्रति आपका रवैया और न ही मेरे योगदान के लिए आपकी अवमानना। यह बिल्कुल भी अयोग्य नहीं है कि इस स्थिति में किसी अन्य व्यक्ति ने सॉफ्टवेयर इंस्टॉल किया होगा, जैसे कि आज, गीथहब पर 23.5k लोगों द्वारा अभिनीत किया गया है। यदि pkexecकिसी कारण से अनुपलब्ध है, तो यह एक वैकल्पिक विधि प्रदान करता है, रिबूट किए बिना, यह लगभग उतना ही त्वरित और सरल है।
एड्रियन गुंटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.