मैं एक sudo उपयोगकर्ता के रूप में अपने आप को वापस कैसे जोड़ूं?


64

मैंने आज Ubuntu 11.10 को साफ किया, और फिर VirtualBox को स्थापित किया। इससे मुझे अपने आप को vboxusers समूह में जोड़ने की आवश्यकता हुई, और 11.10 के बाद से लगता है कि उपयोगकर्ताओं को किसी समूह में जोड़ने के लिए कोई ग्राफ़िकल ऐप नहीं है, मैंने निम्न कमांड चलाई:

sudo usermod -G vboxusers stephane

यह एक समस्या है। अब मैं देखता हूं कि मुझे इसके बजाय क्या चलाना चाहिए:

sudo usermod -aG vboxusers stephane

अंतिम परिणाम यह है कि मैं अब उन समूहों में नहीं हूं, जिनमें मुझे होना चाहिए। "सुडो" चलाने के लिए जो भी समूह आवश्यक है, उन्हें शामिल करना। जब मैं सूडो के रूप में कोई कमांड चलाता हूं, तो मुझे निम्नलिखित मिलते हैं:

$ sudo ls
[sudo] password for stephane: 
stephane is not in the sudoers file.  This incident will be reported.

क्या इसे ठीक करने का कोई तरीका है, या क्या मुझे फिर से खरोंच से फिर से स्थापित करने की आवश्यकता है?

जवाबों:


65
  1. बूट के दौरान, बाईं Shift कुंजी दबाए रखें , और आपको GRUB मेनू देखना चाहिए।

  2. ( रिकवरी मोड ) युक्त प्रविष्टि का चयन करें और प्रतीक्षा करें।

  3. अब आपको एक मेनू के साथ प्रस्तुत किया जाना चाहिए। चुनते हैं:

    remount    Remount / read/write and mount all other file systems 
    

    और अपने फाइल सिस्टम को पढ़ने / लिखने की अनुमति के साथ माउंट होने की प्रतीक्षा करें, फिर दबाएं Enter

    यदि यह विकल्प दिखाई नहीं देता है या काम नहीं करेगा, तो आप rootविकल्प को चुन सकते हैं और सिस्टम विभाजन को माउंट करने के लिए निम्न कमांड का उपयोग कर सकते हैं :

    mount -o remount /
    

    आप यह देख सकते हैं कि fsckकमांड के साथ या देखने के द्वारा आपका सिस्टम विभाजन कौन सा है /etc/mtab

    माउंट कमांड (यानी कोई त्रुटि संदेश) को सफलतापूर्वक चलाने के बाद, सीधे नीचे चरण 5 पर आगे बढ़ें।

  4. remountविकल्प चुनने के बाद , मेनू फिर से आता है। चुनते हैं:

    root       Drop to root shell prompt
    
  5. अब अपने उपयोगकर्ता को adminसमूह में (Ubuntu 11.10 और पूर्व के लिए) फिर से जोड़ने के लिए निम्नलिखित में से एक कमांड दर्ज करें :

    adduser <USERNAME> admin
    

    या sudoसमूह के लिए (Ubuntu 12.04 और बाद के लिए):

    adduser <USERNAME> sudo
    
  6. रिबूट और आपको sudoफिर से उपयोग करने में सक्षम होना चाहिए ।


3
यदि आप "रिमाउंट" मेनू नहीं देखते हैं, तो आप पहले "fsck" का चयन कर सकते हैं, यह आपको पढ़ने / लिखने के लिए फाइल सिस्टम को रिमूव करेगा। उसके बाद, आप अपने उपयोगकर्ता को रूट मोड में जोड़ सकते हैं।
जेजिंग जांग

1
यह मेरे लिए काम करता है, सिवाय इसके कि मुझे कमांड का उपयोग करके फाइलसिस्टम को माउंट करना होगा mount -o remount,rw /
16

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

15

यदि रूट लॉगिन आपके सिस्टम पर सक्षम है, तो X के लिए लॉग इन के बिना Control+ Alt+ के माध्यम से टर्मिनल ड्रॉप करें। F1रूट के रूप में लॉग इन करें और फिर वांछित उपयोगकर्ता को adminसमूह में जोड़ें (Ubuntu 11.10 और पहले के लिए):

adduser desired_user_name admin

Ubuntu 12.04 और बाद के लिए, उपयोगकर्ता को sudoसमूह में जोड़ें :

adduser desired_user_name sudo

यदि आपने रूट लॉगिन को सक्षम नहीं किया है तो ग्रब से रिकवरी मोड चुनें और फिर रूट शेल का प्रयास करें।

जड़ शैल

फाइल-लेखन के रूप में माउंट फाइल सिस्टम:

mount -o rw,remount /

उसके बाद आप फिर से अपने इच्छित उपयोगकर्ता को admin(या sudo) समूह में जोड़ सकते हैं ।


लेकिन मैं अपने उपयोगकर्ता से sudo तक नहीं पहुँच सकता!
बजे जेमी हटबर

7

मैंने वही संयोजन करने के बाद विभिन्न संयोजनों की कोशिश की है क्योंकि रिमाउंट मेनू विकल्प 12.10 में नहीं लगता है। मैंने इस पोस्ट में रूट से सब कुछ करने की कोशिश की है। आखिरी था

umount -a
mount -o -w /<path> /

इस में फाइल सिस्टम अभी भी किया जा रहा है परिणामस्वरूप ro बूट करने के लिए fstab में एक सेटिंग के कारण ro फाइल सिस्टम त्रुटि पर मुझे लगता है, यह बताते हुए यह लग रहा था के साथ ro माउंट के बाद।

मैंने आखिरकार इसके साथ काम किया

mount -o rw,remount /

हालांकि मुझे यकीन नहीं है कि यह कमांड के पिछले सेट से कैसे अलग है।

इस भिन्नता को लागू करने के बाद, एक उपयोगकर्ता को admin(11.10 और ealrier) या sudo(12.04 और बाद में) समूह में जोड़ने का कार्य इस प्रकार किया जाता है:

adduser username admin    # 11.10 and earlier
adduser username sudo     # 12.04 and later

2

पुराना सवाल लेकिन मेरे साथ भी हुआ (उबंटू 14.04)।

मैं पुनर्प्राप्ति मोड में प्रवेश करने और रूट शेल तक पहुंच प्राप्त करने में असमर्थ था, क्योंकि यहां कई उत्तर दिए गए हैं और अन्य कहीं भी वर्णित हैं: जीआरयूबी से रूट शेल एक्सेस पासवर्ड से सुरक्षित है।

तो मैंने इस तरह से समस्या हल की:

  1. एक लाइव यूएसबी स्टिक पर बूट करें
  2. खोल दो
  3. मुख्य HD लिनक्स फाइल सिस्टम तक पहुँच (आप अपने बढ़ते बिंदु को GUI फ़ाइल एक्सप्लोरर के एड्रेस बार में देख सकते हैं, आमतौर पर CTRL-L के बाद)। cdइसे में।
  4. फ़ाइल को संपादित करें etc/group( nano etc/groupकुछ और के साथ कहें )
  5. "सुडो" लाइन ढूंढें। जैसा दिखना चाहिएsudo:x:27:admin,bob,alice
  6. अपने आप को sudoलाइन में जोड़ें , अल्पविराम अलग हो गया

बेशक, इसका मतलब है कि फ़ाइल etc/sudoersअभी भी लाइन रखती है

%sudo   ALL=(ALL:ALL) ALL

इसका अर्थ है कि समूह के सभी सदस्यों का sudoकुल नियंत्रण है। पहले वह जांच लें।

असमान रूप से काम किया।


0

मैंने उसी गलती को अपने खाते को एक समूह में जोड़ दिया (भूल गया -a)। मैंने अपना सिस्टम रूट लॉगिन लॉक के साथ स्थापित किया था, और मेरा खाता मशीन पर केवल एक ही था।

स्वीकृत उत्तर ने मेरी मदद नहीं की। रिकवरी मोड में बूट करते समय, मुझे जो कुछ भी मिला वह एक अनहेल्दी मैसेज था

कंसोल के लिए खुली पहुँच नहीं कर सकता, रूट खाता बंद है। अधिक विवरण के लिए sulogin (8) मैन पेज देखें
जारी रखने के लिए ENTER दबाएँ

ENTER दबाने के बाद, सिस्टम सामान्य रूप से बूट होता है: समस्या को ठीक करने के लिए रूट एक्सेस प्राप्त करना कोई भाग्य नहीं है। मैं इस मामले में किसी को मेरे जूते में समाप्त होता है यह जवाब छोड़ रहा हूँ। निम्न का उपयोग केवल तभी करें जब आप Grub मेनू के माध्यम से पुनर्प्राप्ति मोड में न जा सकें

रूट शेल प्राप्त करने के लिए एक पूर्वाभ्यास:

  1. ग्रब मेनू में बूट करें, और हाइलाइट करें ( Enterपर दबाएं नहीं !) सामान्य (डिफ़ॉल्ट, रिकवरी नहीं!) बूट विकल्प।
  2. प्रेस करें e। ग्रब एक कमांड लाइन एडिटर को कई लाइनों के साथ प्रदर्शित करेगा, जिसमें से हर एक अपरिचित दिख सकता है यदि वह डराने वाला नहीं है। चिंता न करें, आपके द्वारा किए गए कोई भी परिवर्तन स्थायी रूप से सहेजे नहीं जाते हैं।
  3. वह पंक्ति ज्ञात कीजिए जो पढ़ती है linux ... ro ...। यह कर्नेल कमांड लाइन है। रूट फाइलसिस्टम को पढ़ने / लिखने के लिए roटोकन के साथ बदलें rw, और एक और कर्नेल कमांड लाइन पैरामीटर जोड़ें init=/bin/sh। इसके shबजाय कर्नेल को निष्पादित करने का निर्देश देता है /sbin/init। अंत में, रेखा को दिखना चाहिए linux ... rw init=/bin/sh ...नोट: आप नंगे grub>प्रॉम्प्ट से भी प्राप्त कर सकते हैं । मुझे यह समझाने में खुशी होगी कि कैसे कदम दर कदम, अगर आपके लिए और सब विफल हो जाता है; इस उत्तर के लिए एक टिप्पणी छोड़ दें।
  4. परिवर्तन के बाद, F10सिस्टम को बूट करने के लिए संपादक से कमांड का उपयोग करने के लिए दबाएं (या संपादक विंडो के ठीक नीचे बूट करने का निर्देश पढ़ें, यदि आपका ग्रुब अलग तरह से संकलित किया गया है)। आप रूट शेल प्रॉम्प्ट प्राप्त करेंगे, क्योंकि इनिट प्रक्रिया रूट पहचान के साथ PID 1 के रूप में चलती है।
  5. उदाहरण के लिए, आप जो बदलाव करना चाहते हैं, उसे करें usermod -a -Gadm,sudo YOURUSERID। इस बात की पुष्टि करें id -a YOURUSERIDकि आपको अपनी sudo सदस्यता वापस मिल गई है। मामले में आपको "कमांड नहीं मिली" त्रुटि, उपयोग /sbin/usermodऔर /bin/id
  6. आप इस बिंदु पर सिस्टम को सफाई से बंद या रिबूट नहीं कर सकते। reboot, haltया poweroffकाम नहीं करेगा, और exitशेल से कर्नेल घबराहट पैदा होगी, क्योंकि PID 1 प्रक्रिया से सिर्फ बाहर निकलने की उम्मीद नहीं है। तो अगले दो आदेश आपको जारी करने चाहिए:

    sync
    exec /sbin/init
    

    syncबस कुछ भी गलत होने पर, डिस्क में सभी परिवर्तनों को सहेजने के लिए, और execशेल को वास्तविक के साथ बदलने के लिए init(जो सिस्टमड, अपस्टार्ट या सिस्टम वी इनिट हो सकता है, लेकिन इसे हमेशा कहा जाता है /sbin/init)। सिस्टम सामान्य रूप से बूट करने की संभावना रखेगा (कोई पुनर्प्राप्ति मोड नहीं)।

  7. लॉगिन करें और सिस्टम को एक बार रिबूट करें, जैसे - आपको sudo rebootअपना सुडोल विशेषाधिकार वापस प्राप्त करना चाहिए। एक रिबूट की सिफारिश की जाती है, जैसा कि (हालांकि शायद ही कभी) initएक सामान्य बूट के दौरान अतिरिक्त मापदंडों को पारित किया जा सकता है, और यह कि हमने ऐसा नहीं किया। execअसफल होने की स्थिति में , बस मशीन को रीसेट करें और इसे सामान्य रूप से बूट होने दें। सभी आधुनिक जर्नलिंग फाइलसिस्टम जैसे एक्सटी 4, एक्सएफ़एस और बीट्रॉफ़ अपने आप को जल्दी से ठीक कर लेते हैं (जर्नल की जांच के लिए कुछ सेकंड, यदि syncरीसेट से पहले एड), और आप सभी सेट हो जाएंगे।

थोड़ी पृष्ठभूमि

इस बहुत ही समस्या के बारे में डेबियन बग रिपोर्ट पर एक चर्चा हुई और, जहाँ तक समझ में आया, यह एक सुविधा का निर्णय लिया गया था और बग का नहीं, जिसे मैं समझता हूँ कि यह एक गलती थी। 25 साल से इस व्यवसाय में है, मैं मदद नहीं कर सकता, लेकिन पूरी तरह से माइकल बेबल के तर्क को संदेश में # 31 से सहमत नहीं हूं :

इस पर विचार करें: आपके पास एक लॉक रूट खाते वाला एक लैपटॉप है। डिफ़ॉल्ट रूप से ग्रब बूट लोडर बचाव मोड के लिए एक बूट प्रविष्टि बनाता है। इसलिए, भले ही आप सीडी-रोम या यूएसबी से बूटिंग की अनुमति न देने के लिए बायोस को लॉक करते हैं, और आप पासवर्ड को ग्रब से बचाते हैं, अगर आप लैपटॉप को क्षण भर के लिए छोड़ देते हैं तो कोई आसानी से रूट एक्सेस प्राप्त कर सकता है।

सही, IMO, यदि सामान्य रूप से पर्याप्त नहीं है, तो फेलिप Sateler द्वारा संदेश # 70 में आपत्ति दी गई थी :

कई (अधिकांश?) कंप्यूटरों के लिए, भौतिक पहुंच का मतलब है खेल में सुरक्षा-वार हार जाना, क्योंकि आप बस बॉक्स को अलग कर सकते हैं और हार्ड ड्राइव प्राप्त कर सकते हैं।

यह विशेष रूप से लैपटॉप के लिए सच है, माइकल के तर्क में उल्लेख किया गया है: यदि आप इसे एक पल के लिए अप्राप्य छोड़ देते हैं, और कोई आपके डेटा के बाद है, तो लैपटॉप बस फिर कभी नहीं देखा जाएगा। और किसी भी मशीन के लिए, "कई" या "सबसे" नहीं, यहां तक ​​कि उन लोगों ने एक रैक में 8 बिंदुओं पर बोल्ट किया, जैसे ही हमलावर को मशीन तक भौतिक पहुंच मिलती है, खेल वास्तव में खत्म हो गया है।

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