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


85

मैं VMware प्लेयर का उपयोग करके अपने लैपटॉप पर Ubuntu 12.04 चला रहा हूं। मुझे यकीन नहीं है कि क्यों, लेकिन मेरे पास अपने खाते के अलावा "उपयोगकर्ता खाता" नामक एक खाता है जिसे मैं आमतौर पर उबंटू का उपयोग करने के लिए लॉगिन करता हूं। खैर यह सिर्फ एक पक्ष की टिप्पणी थी, लेकिन मूल रूप से मैं जो करने की कोशिश कर रहा हूं वह उबंटू पर ncurses लाइब्रेरी स्थापित करना है। मैंने निम्नलिखित कमांड लाइनों का उपयोग करके ncurses स्थापित करने की कोशिश की है:

sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-dev

जब मैंने उपरोक्त आदेशों का उपयोग करके दो बार ncurses स्थापित करने का प्रयास किया, तो मुझे टर्मिनल में निम्नलिखित संकेत प्राप्त हुए:

[sudo] password for username

जब मैं अपना पासवर्ड टाइप करता हूं तो मुझे निम्न संदेश प्राप्त होता है:

username is not in the sudoers file. This incident will be reported.

अब तक मैंने इस लिंक पर दिए गए निर्देशों का पालन करके रूट उपयोगकर्ता ("सुपर उपयोगकर्ता") खाते को सक्षम करने का प्रयास किया है: https://help.ubuntu.com/community/RootSudo

यहां कुछ चीजें दी गई हैं जो लिंक ने करने का सुझाव दिया है:

किसी अन्य उपयोगकर्ता को sudo चलाने की अनुमति दें। कमांड लाइन में निम्नलिखित टाइप करें:

sudo adduser उपयोगकर्ता नाम sudo

या

sudo adduser उपयोगकर्ता नाम sudo

किसी अन्य उपयोगकर्ता के रूप में लॉग इन करना। कमांड लाइन में निम्नलिखित टाइप करें:

sudo -i -u उपयोगकर्ता नाम

रूट खाता सक्षम करना। कमांड लाइन में निम्नलिखित टाइप करें:

सूदो -आई

या

सूद पासवे जड़

मैंने उपरोक्त सभी कमांड लाइनों की कोशिश की है और प्रत्येक कमांड में टाइप करने के बाद मुझे अपने पासवर्ड के लिए कहा गया। अपना पासवर्ड दर्ज करने के बाद मुझे वही संदेश मिला जब मैंने ncurses को स्थापित करने का प्रयास किया था:

fsolano is not in the sudoers file. This incident will be reported.

मेरे पास अभी तक मेरे साथ नंगे होने की टिप्पणी नहीं है ... प्रश्न। fsolano पहला उपयोगकर्ता है जिसे आपने ubuntu की स्थापना के साथ बनाया है? आमतौर पर इसके लिए व्यवस्थापक विशेषाधिकार होना चाहिए, यदि आप एक व्यवस्थापकीय कार्य का प्रदर्शन ग्राफिकल अर्थों में करते हैं तो क्या यह आपके लिए काम करता है? IE यदि आप उपयोगकर्ता प्रबंधन के लिए GUI खोलते हैं और कुछ प्रशासित करने की कोशिश करते हैं तो यह काम करता है? या आपको बताएं कि आप रूट नहीं हैं

यहाँ भी वही सवाल पूछा गया था? superuser.com/questions/866582/…
शुभम

यदि आपने अपने पासवर्ड सेट के साथ एक रूट उपयोगकर्ता है, तो आप रूट का उपयोग करके लॉग इन कर सकते हैं suऔर sudo समूह में àdduser username sudoस्वयं को जोड़ सकते हैं , आपको लाइव सीडी / यूएसबी के साथ बूट करना होगा और इंस्टॉल किए गए सिस्टम को चेरोट करना होगा, यह डिफ़ॉल्ट रूप से रूट में लॉग इन करेगा अगले मामलों के लिए एक रूट पासवर्ड सेट करें passwd, और वहां से अपने आप को sudo में जोड़ें, और रिबूट करें, आपके पास अपना उपयोगकर्ता नाम sudo में जोड़ा जाएगा और आपके पास रूट पासवर्ड भी होगा, अगर sudo अभी भी काम नहीं कर रहा है, तो आप इसे संभाल सकते हैं ....
योना

जवाबों:


57

जब यह मेरे साथ हुआ तो मुझे इसे ठीक करने के लिए करना पड़ा:

चरण 1. एक टर्मिनल विंडो खोलें, CTRL+ ALT+ T मेरे सिस्टम पर (डेबियन केडीई को हॉटकी के रूप में स्थापित करने के बाद)

चरण 2. कमांड का उपयोग करके दर्ज किया गया रूट su root

स्टेप 3. इनपुट रूट पासवर्ड

चरण 4. apt-get install sudo -yस्थापित करने के लिए इनपुट कमांडsudo

चरण 5. इनपुट करके उपयोगकर्ता को sudoers फ़ाइल में जोड़ें adduser username, अपने उपयोगकर्ता नाम को इसके स्थान पर रखेंusername

चरण 6. इनपुट द्वारा sudoers फ़ाइल के लिए सही अनुमतियाँ सेट करें chmod 0440 /etc/sudoers

चरण 7. टाइप करें exitऔर Enterअपने टर्मिनल विंडो को बंद करने तक हिट करें। अपने सिस्टम को पूरी तरह से बंद करें और रिबूट करें।

चरण 8. एक और टर्मिनल विंडो खोलें।

चरण 9. किसी भी sudo कमांड को यह जांचने की कोशिश करें कि क्या आपका उपयोगकर्ता नाम sudoers फ़ाइल में ठीक से जोड़ा गया है। मैंने इस्तेमाल किया sudo echo "Hello World!"। यदि आपका उपयोगकर्ता नाम sudoers सूची में सही ढंग से जोड़ा गया है, तो आपको Hello World!टर्मिनल प्रतिक्रिया के रूप में मिलेगा !


15
-1: cd -जाएगा नहीं घर निर्देशिका करने के लिए, लेकिन हाल ही में अन्य निर्देशिका में जाते हैं। sudo -होगा नहीं अपने उपयोगकर्ता पासवर्ड के लिए लेकिन आप रूट पासवर्ड के लिए पूछना। उसके लिए मैन्युअल रूप से उपयोग करें । विशिष्ट ubuntu सिस्टम में कोई रूट पासवर्ड नहीं है, लेकिन पूरी तरह से sudo पर निर्भर है। /etc/sudoersvisudo
माइकल

@michas आप डेबियन में सुडो के बिना विडो का उपयोग नहीं कर सकते। viसमाधान भी संभव नहीं है क्योंकि केवल-पढ़ने के लिए। गेदित मेरे मामले में काम करता है।
लेओ लेपोल्ड हर्ट्ज़ o

डेबियन 8 में आप बिना सूडो को जड़ के रूप में इस्तेमाल कर सकते हैं। केवल पढ़ने के लिए फ़ाइल का उपयोग करने के लिए लिखने के लिए: wq!
द ओरेकल

यह भी मेरे लिए काम करता है, वास्तव में बड़ी मदद!
आरिफ

आपके उत्तर के लिए धन्यवाद। लेकिन मैं चलने में भी सक्षम नहीं हूँsu -
विशाल

42

अपना व्यवस्थापक पासवर्ड रीसेट करने के लिए लिंक का अनुसरण करें [लगता है कि आपने अपने व्यवस्थापक उपयोगकर्ता खाते को 'उपयोगकर्ता' नाम दिया है :)]

https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password

उसके बाद, व्यवस्थापक उपयोगकर्ता के रूप में लॉगिन करें और निम्नलिखित को निष्पादित करें।

sudo usermod -aG sudo,adm fsolano

अब आप 'fsolano' के रूप में लॉगिन कर सकते हैं और आपको sudo कमांड चलाने में सक्षम होना चाहिए।


1
खेद है कि मैं यह बताना भूल गया कि मैंने इस समस्या का समाधान बहुत पहले कर दिया था। यह उस मुद्दे का समाधान है जो मेरे पास था और संभवतः किसी और के पास भी हो सकता है।
fsolano94

3
मुझे अभी भी इसे टाइप करने के बाद मैसेज मिलता है adduser NAME sudo। मुझे लगता है कि वहाँ मी, ust कुछ और होना चाहिए। मैं डेबियन 7.8 का उपयोग कर रहा हूं।
टॉम ज़ातो

यह डेबियन 8.5 में पर्याप्त समाधान नहीं है। श्रीकांत किवले के थोड़े से परिवर्धन के प्रस्ताव यहाँ सही हैं।
लेओ लेपोल्ड हर्ट्ज़ '

3
@masi चाल ऊपर करता डेबियन 8.5 (कम से कम यहाँ) में काम करते हैं, लेकिन केवल आप लॉग आउट और वापस पुन: करने के बाद।
jcoppens

@jcoppens सही है, डेबियन 8.6 के लिए भी काम करता है, केवल लॉग आउट और लॉगिन के बाद
hello_earth

13

कॉन्फ़िगरेशन फ़ाइल /etc/sudoersसूची, जिसे चलाने की अनुमति है जो किस उपयोगकर्ता के रूप में कमांड करता है।

Ubuntu पर इस फ़ाइल में एक पंक्ति है जो sudoसमूह के सभी उपयोगकर्ताओं को उपयोगकर्ता के रूप में कमांड चलाने की rootअनुमति देती है।

यह जांचने के लिए कि कौन से उपयोगकर्ता सुडो समूह में हैं आप टाइप कर सकते हैं getent group sudo। आप अपने वर्तमान उपयोगकर्ता के समूह भी टाइप करके देख सकते हैं id

संभवतः आपका वर्तमान उपयोगकर्ता sudo समूह में नहीं है और इसलिए उसे sudoकमांड का उपयोग करने की अनुमति नहीं है ।

यदि आप चलाना चाहते हैं तो कुछ sudo सक्षम उपयोगकर्ता के रूप में लॉग इन करें sudo


खैर यह सिर्फ बात है। मैं व्यवस्थापक या रूट उपयोगकर्ता के रूप में लॉगिन करूंगा लेकिन जब मैंने पहली बार अपनी मशीन पर उबंटू स्थापित किया था तो मैं पासवर्ड भूल गया था।
fsolano94

sudo: x: 27: उपयोगकर्ता (यह निश्चित नहीं है कि x या 27 क्या है, लेकिन मैं सकारात्मक हूं कि उपयोगकर्ता वह उपयोगकर्ता खाता है जिसे मैं पासवर्ड नहीं जानता / याद रखना चाहता हूं)
fsolano94

@ fsolano94, बचाव वातावरण के कुछ रूप में बूट करें (या तो सीधे, या इंस्टॉलेशन मीडिया से बूट करें), और रूट पासवर्ड बदलें। या /etc/sudoersफ़ाइल को संपादित करें (अधिमानतः उपयोग करके visudo(1))।
वॉनब्रांड

6

मैं काली के साथ भी यही मुद्दा रखता हूँ जब भी मैं इस कमांड को टाइप करके sudo ग्रुप में newuser जोड़ना चाहता हूँ :

usermod -aG sudo newuser

और सही अनुभाग को संपादित करना /etc/sudoers। सब बकवास!

इस बकवास के लिए मेरा तय है कि इसके नीचे की जड़ के लिए लाइन को कॉपी करना और रूट को न्यूसियर में बदलना:

# User privilege specification
root    ALL=(ALL:ALL) ALL

newuser ALL=(ALL:ALL) ALL

मुझे याद है कि वर्मोड के साथ सामान्य विधि काम करती थी लेकिन क्या यह पिछले कुछ वर्षों से बग है? यह वास्तव में बकवास है। वैसे भी, अगर किसी के पास एक बेहतर जवाब है, तो कृपया इसे साझा करें :)


नियमित डेबियन (9) पर एक ही मुद्दा; मैन्युअल रूप से संपादन /etc/sudoersने चाल
चली

4

अपने व्यवस्थापक उपयोगकर्ता के लिए पासवर्ड रीसेट करने के लिए ऐसा करें।

https://help.ubuntu.com/community/LostPassword

तब आप अपने नियमित उपयोगकर्ता को sudo की अनुमति दे सकेंगे

sudo adduser username sudo

जैसा कि आपने अपने मूल प्रश्न में पोस्ट किया है।

वैसे: आप ncurses क्यों स्थापित कर रहे हैं? क्या आप कुछ संकलन कर रहे हैं?


मैं सी में टेट्रिस की प्रोग्रामिंग कर रहा हूं और ग्राफिकल यूजर इंटरफेसिंग के लिए क्रॉस प्लेटफॉर्म के रूप में शाप का उपयोग कर रहा हूं। और हाँ मैं लिंक का पालन करने जा रहा हूँ
fsolano94

1

आप एक उपयोगकर्ता को सभी अधिकार के लिए sudo समूह में जोड़ सकते हैं:

  1. sudo su(Ubuntu 16.04 LTS) द्वारा अपनी मूल निर्देशिका उपयोगकर्ता पर जा रहे हैं
  2. फिर अपना वर्तमान उपयोगकर्ता पासवर्ड दर्ज करें
  3. टाइप करें sudo adduser <username> sudoजहां उपयोगकर्ता नाम उपयोगकर्ता का नाम है जिसे आप sudoers सूची में जोड़ना चाहते हैं
  4. यह जाँचने के लिए कि क्या आपके आवश्यक उपयोगकर्ता को सफलतापूर्वक टाइप किया गया है, getent group sudoजो sudo उपयोगकर्ताओं की सूची दिखाएगा

नमस्ते, यूनिक्स एसई में आपका स्वागत है और पहले अच्छे उत्तर के लिए बधाई। मैंने आपका प्रारूपण थोड़ा ठीक कर दिया है, आप पोस्ट लिखते समय "सिंटैक्स सहायता" पर क्लिक करके इसके बारे में अधिक जान सकते हैं।
18

1
यह एक अच्छा जवाब नहीं है। (1) प्रश्न में कहा गया है कि sudoउपयोगकर्ता के लिए काम नहीं करता है। (२) उत्तर sudo adduser <username> sudoपहले ही दिया जा चुका है।
जी-मैन

0

यदि आपके पास 'fsolano' की तुलना में कोई अन्य रूट / व्यवस्थापक उपयोगकर्ता है, जो कि sudoers फ़ाइल में नहीं है। इस घटना की सूचना दी जाएगी:

check sudo enabled users (groups)
# getent group sudo 
sudo:x:27:xyz,abc 

चूंकि उपयोगकर्ता 'fsolano' को मानक उपयोगकर्ता में बदल दिया जाता है और यदि आपके पास कोई अन्य रूट विशेषाधिकार प्राप्त उपयोगकर्ता है, तो रूट एक के माध्यम से लॉगिन करें और "उपयोगकर्ता खातों" का उपयोग करके 'fsolano' को व्यवस्थापक में बदलें।


-1

एक उपयोगकर्ता को sudoersफ़ाइल में जोड़ने का सबसे सरल तरीका कमांड बलो को चलाने के लिए अनुमति के साथ उपयोगकर्ता के रूप में चलाया जाता है gpasswd:

sudo gpasswd -a username sudo

यह डेबियन 8.5 में काम नहीं करता है।
लेओ लेपोल्ड हर्ट्ज़ o

-1

1. आप जांच कर सकते हैं कि आप sudo समूह का हिस्सा हैं या नहीं, नीचे दिए गए आदेश का उपयोग करके

groups username ===> it will lists the groups for which he belongs too

हम स्क्रिप्ट के नीचे भी देख सकते हैं

h=`groups username| awk -F ":" '{print $2}'| grep -io 'sudo'`
if [[ $h == "sudo" ]]
then
echo "user praveen is part of group sudo"
else
echo "Need to add user to group sudo"
echo "Swictch to root and add user"
fi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.