उपयोगकर्ता sudoers फ़ाइल में नहीं है। इस घटना की सूचना दी जाएगी


24

मुझे एक पैकेज स्थापित करने की आवश्यकता है। उसके लिए मुझे रूट एक्सेस की आवश्यकता है। हालाँकि सिस्टम कहता है कि मैं sudoers फ़ाइल में नहीं हूँ। जब एक को संपादित करने की कोशिश की जा रही है, यह एक जैसे शिकायत करता है! अगर मुझे एक को संपादित करने का अधिकार नहीं है, तो मुझे अपने आप को sudoers फ़ाइल में कैसे जोड़ना चाहिए?

मैंने यह सिस्टम और केवल प्रशासक स्थापित किया है। मैं क्या कर सकता हूँ?

संपादित करें : मैंने visudoपहले ही प्रयास किया है । यह मुझे पहली जगह में sudoers में होने की आवश्यकता है।

amarzaya@linux-debian-gnu:/$ sudo /usr/sbin/visudo 

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for amarzaya: 
amarzaya is not in the sudoers file.  This incident will be reported.
amarzaya@linux-debian-gnu:/$ 

4
खैर, जाहिर है user not(is) the sudoers file। (टाइटल में टाइपो)
हैलो ०

8
अब आप शरारती सूची में हैं - xkcd.com/838
आरोन न्यूटन

जवाबों:


18

यह एक सुरक्षा छेद में से कुछ होगा यदि आप अपने आप को /etc/sudoersसुडो या रूट एक्सेस के बिना जोड़ सकते हैं। मूल रूप से तब कोई भी खुद को जड़ बना सकता था।

मूल रूप से आपको साइट को जोड़ने के लिए उस मशीन के व्यवस्थापकों से आपको जोड़ने, या आपके लिए पैकेज स्थापित करने के लिए कहने की आवश्यकता है।

आपको sudoers फ़ाइल को संपादित करने के लिए visudo का उपयोग करना भी सुनिश्चित करना चाहिए - यह जाँचता है कि फ़ाइल लिखने से पहले सिंटैक्स सही है। और आप vi के अलावा अन्य संपादकों का उपयोग कर सकते हैं। यह डिफ़ॉल्ट रूप से उपयोग करेगा जो आपने सेट किया है $EDITORऔर यदि आपके पास यह सेट नहीं है तो आप कर सकते हैं

# EDITOR=nano visudo

इसके बजाय नैनो संपादक का उपयोग करने के लिए।


5
मैं व्यवस्थापक हूं, क्योंकि यह मेरी मशीन है और मैंने इस प्रणाली को स्थापित किया है, लेकिन यह मदद नहीं करता है :(
सर्गी बेलोज़ोरोव

9
यदि यह आपका सिस्टम है तो आपको इंस्टॉल करते समय रूट उपयोगकर्ता के लिए एक पासवर्ड दर्ज करना चाहिए। इसलिए। रूट ’के रूप में लॉगिन करें और फिर विस्कोस स्टफ करें।
हमीश डाउनर

वास्तव में। मेरी गलती। मैं भूल गया हूं कि मैंने स्थापना के दौरान पासवर्ड वापस दर्ज किया है।
सर्गी बेलजोरोव

24

रूट के रूप में लॉगिन /usr/sbin/visudoकरें और फ़ाइल को संपादित करने और अपना उपयोगकर्ता नाम जोड़ने के लिए उपयोग करें। सामान्य vi / vim फ़ाइल को संपादित करने में सक्षम नहीं होगा।

सबसे आसान तरीका बस नीचे जाना है जब तक आप लाइन को नहीं देखते हैं " root ALL=(ALL) ALL" और उसी सिंटैक्स ( yourusername ALL=(ALL) ALL) के साथ अपने आप को उसके नीचे जोड़ दें । या, आप sudoers manpage पढ़ सकते हैं यदि आप अपने आप को अधिक विशिष्ट विशेषाधिकार देना चाहते हैं।


विस्कोस को चलाने के लिए मुझे पहले स्थान पर सूडोर्स सूची में होना चाहिए। मैंने इस डेबियन को स्थापित किया है, कोई अन्य व्यवस्थापक नहीं है।
सर्जेई बेलोज़ोरोव

यदि आप रूट के रूप में लॉग इन हैं, तो आपको चलाने की आवश्यकता नहीं है sudo visudo; बस दौड़ो /usr/sbin/visudo। लेकिन ऐसा लगता है कि आप पहले से ही पता लगा चुके हैं, अन्य उत्तर की टिप्पणियों से।
Ricket

संबंधित उपयोगकर्ता को "sudo" या "sudoers" (डिस्ट्रो के आधार पर) समूह में जोड़ने के लिए पर्याप्त नहीं है? मेरे मामले में अफसोस की बात है, यह काम नहीं किया, लेकिन मैं यह काम करने के लिए इस्तेमाल कर सकते हैं ...?
ग्रेगर

5

बस कमांड टाइप किया:

$ su

और पासवर्ड "रूट" के लिए कहा। टाइप और बूम ... यह काम किया!

यह समस्या मेरी गलती थी। उस समय सुविधा वापस होने के कारण मैंने उपयोगकर्ता नाम और पासवर्ड बनाया।


धन्यवाद जो वास्तव में सहायक था और मेरी बेकन को बचाया! लेकिन मैं उत्सुक हूं कि बस इस कमांड को क्यों जोड़ा जा रहा है और फिर रूट पासवर्ड, उन्नत विशेषाधिकार की अनुमति देगा .... लगता है कि संदेश के उद्देश्य को पराजित करता है "उपयोगकर्ता sudoers फ़ाइल में नहीं। यह घटना रिपोर्ट की जाएगी"
सोल

1

शायद सबसे आसान तरीका है, एक बार रूट करने के बाद:

echo 'amarzaya ALL=(ALL) ALL' >> /etc/sudoers

7
आपको sudoers फ़ाइल को संपादित करने के लिए, सीधे इसे संपादित करने या पाठ को प्रतिध्वनित करने के बजाय विज़ुअड का उपयोग करना सुनिश्चित करना चाहिए। यह सुनिश्चित करेगा कि यह वाक्यात्मक रूप से सही है, और सुनिश्चित करें कि आप अपने आप को पहुंच से बाहर बंद नहीं करते हैं, या किसी को अनुचित पहुंच प्रदान नहीं करते हैं।
3

1

यदि आपकी sudoers फ़ाइल में पहले से ही इस तरह की लाइन है

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

फिर, चीजों को करने का सबसे साफ तरीका शायद adminआपके उपयोगकर्ता को समूह को अनुदान देना है । उदाहरण के लिए, उपयोगकर्ता ओरेकल को admin समूह में जोड़ने के लिए :

usermod -aG admin oracle

यही मैं ढूंढ रहा था। मेरे लिए सबसे अच्छी तरह से, sudoers फ़ाइल के साथ कोई गड़बड़ नहीं है।
webjunkie

1
सही कमान हैusermod -g oracle admin
kvanberendonck

-1: वाक्य रचना है usermod -g $group $user। आप शायद adduserसिंटेक्स के बारे में सोच रहे हैं , जो है adduser $user $group
ब्लैकलाइट चमक रहा है

1
... वास्तव में, आप सबसे अधिक संभावना चाहते हैं usermod -aG $group $user। आपके द्वारा निर्दिष्ट -gउपयोगकर्ता के प्राथमिक समूह को सेट करता है , और इसके -Gबिना -aउपयोगकर्ता को उन समूहों से हटा देगा जो सूचीबद्ध नहीं हैं। -gउपयोगकर्ता की होम डायरेक्टरी में पिछले समूह के स्वामित्व वाली सभी फ़ाइलों के समूह के स्वामित्व को भी बदल देगा। इसलिए अगर आप मेरे जैसे हैं और आपके पास आपका umask सेट है 007...
Blacklight Shining

1
@BlacklightShining। आप सही हे। गलत सिंटैक्स एक पिछले टिप्पणीकार द्वारा प्रस्तावित किया गया था और चूंकि oracleअक्सर एक समूह के रूप में अच्छी तरह से है, वास्तव में भ्रम की स्थिति है। मुझे "सही" नहीं करना चाहिए था।
एलन पैननेटियर

-1

यदि आप अभी भी रूट एक्सेस का उपयोग suकर सकते हैं, तो आप इस वन-लाइनर का उपयोग खुद को जोड़ने के लिए कर सकते हैं /etc/sudoers/:

su -c 'echo $USER ALL=(ALL)ALL >> /etc/sudoers'

परिवर्तन को सक्रिय करने के लिए, फिर से लॉग आउट करें। उदाहरण के लिए अपने X सत्र को समाप्त करें या शेल एंटर के माध्यम से लॉग आउट करें exit



-1

यदि आप sudoकमांड का उपयोग नहीं कर सकते हैं , तो आप निम्न विधि का उपयोग कर सकते हैं:

  1. प्रेस Ctrl+ Alt+F1
  2. यदि उपयोगकर्ता रूट नहीं है, तो उपयोगकर्ता को लॉग आउट करें
  3. रूट के रूप में लॉग इन करें
  4. रूट विशेषाधिकार का उपयोग करें
  5. GUI में जाने के लिए लॉग आउट करें ( exit) - Ctrl+ Alt+F7

-1: यह केवल कुछ स्थानीय वातावरण में काम करता है जो वास्तव में GUI है।
ब्लैकलाइट चमक रहा है

-1

आपको बस अपनी जोड़ने <username>के लिए whellसमूह।

# usermod -aG whell username

फिर अपने उपयोगकर्ता नाम के साथ लॉगिन करें और आनंद लें :)


-3

पहले निम्नलिखित का उपयोग करके साइन इन करें:

$ su

इसके बाद आगे बढ़ें:

$ sudo apt-get update

या जो भी सामान्य हो


1
आप की जरूरत नहीं है su- sudo यह करता है।
साइमन शेहान

वे वास्तव में एक ही चीज नहीं हैं। sudo 'सुपर यूजर के रूप में काम करता है', लेकिन आप अपने उपयोगकर्ता के पासवर्ड के साथ लॉगिन करते हैं। su 'स्विच उपयोगकर्ता' है, और डिफ़ॉल्ट रूप से (बिना तर्क के) यह रूट उपयोगकर्ता पर स्विच करने का प्रयास करता है, जिस स्थिति में आपको रूट पासवर्ड दर्ज करने की आवश्यकता होती है। लेकिन आप सही भी हैं - सू के बाद सुडो का उपयोग करना बेमानी है, क्योंकि आप पहले से ही रूट यूजर होंगे।
आरोन न्यूटन

@ aaron.newton मैं वास्तव में इसे स्विच उपयोगकर्ता और डीओ के रूप में पढ़ूंगा; आप -uध्वज के रूप में कमांड चलाने के लिए किसी भी उपयोगकर्ता को चुन सकते हैं । यह है ज्यादातर रूट के लिए इस्तेमाल किया, लेकिन इतना है su
ब्लैकलाइट चमक रहा है

@ aaron.newton मैं वास्तव में इसे स्विच उपयोगकर्ता और डीओ के रूप में पढ़ूंगा; आप -uध्वज के रूप में कमांड चलाने के लिए किसी भी उपयोगकर्ता को चुन सकते हैं । यह है ज्यादातर रूट के लिए इस्तेमाल किया, लेकिन इतना है su
ब्लैकलाइट चमक रहा है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.