कमांड लाइन का उपयोग करके मैं sudoer के रूप में एक नया उपयोगकर्ता कैसे जोड़ सकता हूं?


819

जब मैं किसी उपयोगकर्ता का उपयोग कर adduserरहा होता हूं, तब तक मैं इसे सिस्टम> प्रशासन> उपयोगकर्ताओं और समूहों के माध्यम से नहीं देख सकता, जब तक कि मैं लॉग आउट नहीं करता और फिर लॉग इन करता हूं। क्या यह सामान्य है?

इसके अलावा, क्या मैं एक नए जोड़े गए उपयोगकर्ता को sudoएर के रूप में सेट कर सकता हूं या क्या मुझे इसे जोड़ने के बाद ही बदलना होगा? मैं शेल के माध्यम से कैसे कर सकता हूं?

अंत में, क्या मैं मूल उपयोगकर्ता को हटा सकता हूं जो उबंटू की प्रारंभिक स्थापना पर बनाया गया था, या क्या यह उपयोगकर्ता किसी तरह 'विशेष' है?

जवाबों:


1023

बस में उपयोगकर्ता जोड़ने sudoसमूह :

sudo adduser <username> sudo

अगली बार जब उपयोगकर्ता लॉग इन करेगा तो परिवर्तन प्रभावी होगा।

यह काम करता है क्योंकि /etc/sudoersइस समूह के सभी सदस्यों को अनुमति देने के लिए पूर्व-कॉन्फ़िगर किया गया है (आपको इसमें कोई बदलाव नहीं करना चाहिए):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

जब तक आपके पास एक उपयोगकर्ता है जो आपके "मूल" उपयोगकर्ता के समान समूहों में है, तब तक आप पुराने को हटा सकते हैं।


वास्तविक रूप से, ऐसे अन्य समूह भी हैं जिनका आपका नया उपयोगकर्ता सदस्य होना चाहिए। यदि आप उपयोगकर्ता का खाता प्रकार उपयोगकर्ता सेटिंग्स में व्यवस्थापक को सेट करते हैं, तो इसे कम से कम इन सभी समूहों में रखा जाएगा:

adm sudo lpadmin sambashare

क्योंकि आपका सिस्टम कॉन्फ़िगरेशन अलग-अलग हो सकता है, इसलिए मैं सुझाव देता हूं कि groups <username>सामान्य रूप से उपयोग में आने वाले समूहों को देखने के लिए आउटपुट पर एक नज़र डालें ।


1
@Dziamid मुझे यकीन नहीं है कि sudoसमूह क्या है। चलो पता करते हैं।
æंड्रिक्स

7
कृपया ध्यान दें कि adminसमूह 12.04 LTS में मौजूद नहीं है।
रयान

18
सवाल किसी मौजूदा उपयोगकर्ता के बारे में है, लेकिन अगर यह एक नया उपयोगकर्ता के लिए था "sudo adduser <उपयोगकर्ता नाम> sudo" से पहले करना होगा "sudo adduser <उपयोगकर्ता नाम>" । अन्यथा किसी को त्रुटि संदेश "उपयोगकर्ता <उपयोगकर्ता नाम मौजूद नहीं है" मिलता है।
पीटर मोर्टेंसन

9
यह मेरे लिए काम नहीं किया। अभी भी sudo का उपयोग नहीं कर सकते।
चॉवी

10
काम करने के लिए फिर से लॉग इन करना पड़ा।
पीटरम

193

मैंने किया

sudo usermod -a -G sudo <username>

यहाँ अनुशंसित है


28
समूह सुडोल मौजूद नहीं है
हारून एसाव

यहां एकमात्र कार्य समाधान है। उबंटू 16
माकन तैयबी

5
मौजूदा उपयोगकर्ता के लिए, यह सही समाधान है। इसे उत्तर के रूप में चिह्नित किया जाना चाहिए।
Yokai

3
-aफ्लैग को मत भूलना या आप सभी समूहों से उपयोगकर्ता को हटा देंगे सिवायsudo
रूसोएलेक्सैंड्रे

@RousseauAlexandre बिल्कुल! सबसे महत्वपूर्ण है, खासकर यदि आप अपने आप को एक गैर-सूडो समूह में जोड़ने की कोशिश कर रहे हैं और आप सूडो विशेषाधिकारों के साथ मशीन पर केवल एक हैं ...without -a you just removed yourself from the sudo group!
टिमोथी एलजे स्टीवर्ट

79

Sudoers फ़ाइल खोलें: (संभवतः GNU नैनो में परिभाषित संपादक में फ़ाइल sudo visudoखोलें - यदि आप जो चाहते हैं, वह वैसा ही नहीं है, जैसे चर सेट करें और फिर से प्रयास करें)।/etc/sudoers$EDITORexport EDITOR="nano"sudo visudo

फ़ाइल के अंत में नीचे की रेखा जोड़ें।

username ALL=(ALL) ALL   # Change the user name before you issue the commands

फिर Ctrl+ के साथ WriteOut प्रदर्शन करें O। संपादक आपसे फ़ाइल का नाम लिखने के लिए कहेगा। डिफ़ॉल्ट एक अस्थायी फ़ाइल होगी जिसका उपयोग visudoवास्तविक sudoersफ़ाइल को सहेजने से पहले सिंटैक्स त्रुटियों की जांच करने के लिए किया जाता है । Enterइसे स्वीकार करने के लिए दबाएँ । Ctrl+ के साथ नैनो संपादक से बाहर निकलें X

किया हुआ!


9
यह स्पष्ट रूप से उस उपयोगकर्ता को उपयुक्त समूह में जोड़ने के बजाय केवल एकल उपयोगकर्ता को sudoers फ़ाइल में जोड़ना अनुचित होगा sudo
कजकाई

3
sudo visudo के साथ आप /etc/sudoers.tmp को आउटपुट कर सकते हैं, संपादक को छोड़ने पर यह अपने आप अधिलेखित हो जाएगा / etc / sudoers
Climbatize

1
और
visudo

इसका उपयोग करते समय सिंटैक्स त्रुटि।
जेरिको

2
अन्य समाधान एक निर्मित sudoसमूह के साथ ओएस के लिए बहुत अच्छा काम करते हैं , लेकिन एक समर्पित sudoसमूह के बिना सामयिक प्रणाली के लिए , यह समाधान काम करता है। मेरे पास एकमात्र सिफारिश यह है कि आप sudoखुद को प्रक्रिया के अंदर रखने से बचना चाहते हैं , क्योंकि यह अभी तक सेटअप नहीं हो सकता है! करने के लिए आसान है su -और फिर बस कर visudio। यह जेंटू पर काम करता है।
tresf

30

एक बात मुझे यह जोड़ना है कि मुझे यकीन है कि बहुत से लोग समझ नहीं पाते हैं:

एक बार जब आप पहले से ही कर चुके होते हैं adduser "username", तो आप अभी भी वापस आ सकते हैं और ए कर सकते हैं adduser "username" sudo, और फिर यह उस उपयोगकर्ता को समूह में ठीक से जोड़ देगा।

यह वास्तव में पहली बार के आसपास की तरह काम नहीं करेगा sudo adduser username sudo। यह आपको एक त्रुटि देगा। सारांश में जिसका अर्थ है कि आपको पहले उपयोगकर्ता खाता बनाना होगा, इससे पहले कि आप उन्हें किसी समूह में जोड़ सकें।


11

समूह के सभी सदस्य admin, उबंटू में डिफ़ॉल्ट रूप से सूडो का उपयोग करने की अनुमति देते हैं, इसलिए सबसे आसान तरीका यह है कि उपयोगकर्ता खाते को adminसमूह में जोड़ें।

यदि आप उपयोगकर्ता खाते को पूर्ण रूट एक्सेस नहीं देना चाहते हैं, तो आपको विज़ूडो के साथ / etc / sudoer फ़ाइल को संपादित करना होगा (यह सुनिश्चित करता है कि आपके पास फ़ाइल में कोई सिंटैक्स त्रुटियां नहीं हैं और एक तरह से sudo क्षमता खो दें) आप यह निर्दिष्ट करते हैं कि यह उपयोगकर्ता (या एक नया समूह) क्या रूट के रूप में निष्पादित कर सकता है।

Sudoer मैनुअल आप इस बारे में अधिक जानकारी दे देंगे। आप निर्दिष्ट कर सकते हैं कि कौन से कमांड को किसी विशेष उपयोगकर्ता / समूह द्वारा रूट के रूप में निष्पादित करने की अनुमति है।


1
मैंने सोचा कि wheelसमूह क्या था?
मार्को सेप्पी

@ मार्को मैं इससे परिचित नहीं हूं। क्या आप थोड़ा और समझा सकते हैं?
ændrük

@MarcoCeppi, पहिया समूह का उपयोग कुछ प्रणालियों पर किया गया था ताकि उपयोगकर्ता इसका उपयोग कर सकें su। Ubuntu का उपयोग करता है sudoऔर व्यवस्थापक समूह।
१५


10

निम्नलिखित स्निपेट स्पष्ट रूप से रूट के रूप में लॉग इन किए बिना उपयोगकर्ता नाम तक पहुँच देता है।

सुनिश्चित करें कि उपयोगकर्ता को sudo समूह में पहले जोड़ा गया है। उबंटू 16.04.1 LTS पर परीक्षण किया गया।

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

क्या यह उबंटू पर काम करता है?
जोबन सेबेस्टियन

1
हाँ 16 Ubuntu पर जाँच की
संदीप

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