लिनक्स वितरण पर पासवर्ड रहित sudo सेट करना


18

मैंने हाल ही में फेडोरा 28 और उबंटू दोनों 18.04 सिस्टम स्थापित किए हैं और मैं दोनों पर अपने प्राथमिक उपयोगकर्ता खाते को कॉन्फ़िगर करना चाहूंगा ताकि मैं sudoपासवर्ड के लिए संकेत दिए बिना कमांड चला सकूं।

मैं संबंधित प्रणालियों पर यह कैसे कर सकता हूं?

जवाबों:


28

यह बहुत तुच्छ है अगर आप wheelफेडोरा सिस्टम पर विशेष यूनिक्स समूह का उपयोग करते हैं। आपको केवल निम्नलिखित कार्य करने हैं:

  1. अपने प्राथमिक उपयोगकर्ता को wheelसमूह में जोड़ें

    $ sudo gpasswd -a <primary account> wheel
    
  2. में %wheelसमूह के लिए NOPASSWD सक्षम करें/etc/sudoers

    $ sudo visudo
    

    फिर इस लाइन पर टिप्पणी करें:

    ## Allows people in group wheel to run all commands
    # %wheel        ALL=(ALL)       ALL
    

    और इस लाइन को अनलाइक करें:

    ## Same thing without a password
    %wheel  ALL=(ALL)       NOPASSWD: ALL
    

    के साथ इस फ़ाइल सहेजें Shift+ Z+ Z

  3. लॉगआउट करें और लॉग इन करें

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


यदि wheelआप के बजाय किसी अन्य समूह का उपयोग करते हैं तो क्या परिवर्तन होगा ?
जियाको अल्जेटा

@GiacomoAlzetta %wheelउस समूह में बदलें ।
बमर

19

परंपरागत रूप से डेबियन आधारित वितरण जैसे डेबियन / उबंटू / टकसाल / काली / एंटिक्स, सूडो के लिए डिफ़ॉल्ट समूह है, ठीक है sudo,।

इसलिए sudoडेबियन आधारित प्रणाली में पासवर्ड रहित सक्षम उपयोगकर्ताओं को जोड़ने के लिए, चरण हैं:

  1. इंस्टॉल sudo

    डेबियन में, इंस्टॉलेशन विकल्पों के आधार पर, आप अक्सर sudoडिफ़ॉल्ट रूप से इंस्टॉल किए बिना समाप्त हो जाते हैं ।

    यदि पैकेज sudoस्थापित नहीं है (जैसे आपके पास नहीं है /etc/sudoers), रूट के रूप में चलाएं:

    # apt install sudo
    
  2. उपयोगकर्ता को sudo समूह में जोड़ें

    एक उपयोगकर्ता को sudo समूह में जोड़ें, अगर यह पहले से ही sudo समूह में नहीं है (Ubuntu और डेरिवेटिव sudo समूह में स्वचालित रूप से संस्थापन में बनाया गया उपयोगकर्ता जोड़ते हैं)।

    पहला sudo उपयोगकर्ता सेट करते समय, आपको पहले के रूप में मिल गया है root:

    # gpasswd -a <primary account> sudo
    

    जब आपके पास पहले से ही एक sudoउपयोगकर्ता है, तो उसे उस उपयोगकर्ता के माध्यम से सुडो समूह में अन्य उपयोगकर्ताओं को सेट करने के लिए अच्छे सुरक्षा अभ्यास के रूप में सलाह दी जाती है:

    $ sudo gpasswd -a <primary account> sudo
    
  3. /etc/sudoersNOPASSWD निर्देश जोड़ने के लिए संशोधित करें

    आप तब के साथ समूह के /etc/sudoersलिए डिफ़ॉल्ट लाइन संपादित करते हैं sudo:

    $ sudo visudo
    

    और इसे इसमें से बदल दें:

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

    सेवा:

    # Allow members of group sudo to execute any command, no password
    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  4. लॉगआउट करें और लॉग इन करें

    यदि सिस्टम में लॉग इन किया जाता है, तो इच्छित उपयोगकर्ता के पास तब लॉगआउट होता है और sudoप्रभावी होने के लिए समूह से संबंधित उपयोगकर्ता के परिवर्तन के लिए लॉगिन करता है।

नोट: डेबियन में समूह wheelका उपयोग अक्सर PAM suको किसी समूह के उपयोग को प्रतिबंधित करने के लिए किया जाता है , इसके बजाय इसका उपयोग sudoकमांड के लिए RedHat / SuSE आधारित वितरण में किया जाता है।

परंपरागत रूप से डेबियन आधारित वितरणों में, sudoकमांड के लिए आप sudoसमूह का उपयोग करते हैं।


7

अधिकांश वितरणों में यह रेखा है /etc/sudoers/:

#includedir /etc/sudoers.d

नतीजतन, एक उपयोगकर्ता को जोड़ने का एक आसान तरीका /etc/sudoers.d/निर्देशिका में एक उपयुक्त फ़ाइल बनाना है ; मैं आम तौर पर उपयोगकर्ता को जोड़ने के लिए इसका नाम देता हूं:

add_sudoer() {
    if ! test -n "$1"
    then echo "Usage: $0 <user>" >&2; return
    fi

    printf >"/etc/sudoers.d/$1" '%s    ALL= NOPASSWD: ALL\n' "$1"
}

आप Defaults:%s !lecture, !authenticate\nफ़ाइल में और / या अन्य विकल्प भी जोड़ना चाह सकते हैं ।

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