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

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

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

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

बस उपयोगकर्ता को इसमें जोड़ें 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> यह देखने के लिए कि कौन से समूह सामान्य रूप से उपयोग में हैं ।

मैंने किया

sudo usermod -a -G sudo <username>

जैसा कि सिफारिश की गई है यहाँ.

खुला sudoers फ़ाइल: sudo visudo खुल जाएगा /etc/sudoers में परिभाषित संपादक में फ़ाइल $EDITOR (शायद जीएनयू नैनो - चर सेट करें यदि यह वह नहीं है जो आप चाहते हैं, उदाहरण के लिए export EDITOR="nano" और कोशिश करो sudo visudo फिर से) ।

फ़ाइल के अंत में नीचे की पंक्ति जोड़ें ।

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

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

हो गया!

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

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

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

सेंटोस पर, मैं रूट के रूप में करता हूं

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

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

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

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

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

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

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