लिनक्स पर पासवर्ड रहित `sudo` को कैसे सेटअप करें?


156

पासवर्ड sudoरहित पहुंच को आरएचईएल (फेडोरा, सेंटोस, आदि) या उबंटू वितरण पर कैसे सेटअप किया जा सकता है? (यदि यह डिस्ट्रोस में समान है, तो यह बेहतर है!)

सेटिंग: अनधिकृत पहुंच के लिए कोई चिंता नहीं के साथ व्यक्तिगत और / या प्रयोगशाला / प्रशिक्षण उपकरण (यानी, उपकरण गैर-सार्वजनिक नेटवर्क पर हैं, और कोई भी / सभी उपयोगकर्ता पूरी तरह से विश्वसनीय हैं, और उपकरणों की सामग्री "सादे-वेनिला") ।


1
@ रीचिपल का उत्तर कम से कम प्रयास के साथ सबसे अच्छा काम करने वाला है: ऐसा लगता है कि सुडोल नियम उल्टे क्रम में लागू होते हैं।

2
@ ए 1 नियमों को उसी क्रम में लागू किया जाता है जैसा कि सूडर्स फ़ाइल में सूचीबद्ध है, और जैसे ही उन्हें लागू किया जाता है, वे एक दूसरे को ओवरराइड करते हैं। इसलिए अगर मैं नहीं चाहता कि मैं एक नियम बदलूं तो मैं इसे फाइल के अंत की ओर रख दूंगा ताकि इसे आखिरी में लागू किया जाए और इसे ओवरराइड नहीं किया जा सके।
rsjethani

जवाबों:


173

ईडीआईटी मेडिना की टिप्पणी के लिए धन्यवाद: मैन पेज के अनुसार, आपको लिखने में सक्षम होना चाहिए

ALL            ALL = (ALL) NOPASSWD: ALL

सभी उपयोगकर्ताओं को पासवर्ड के बिना सभी कमांड चलाने की अनुमति देने के लिए।


संदर्भ के लिए, मैं अपना पिछला उत्तर छोड़ रहा हूं:

यदि आप फॉर्म की एक पंक्ति जोड़ते हैं

%wheel         ALL = (ALL) NOPASSWD: ALL

, /etc/sudoers( visudoनिश्चित रूप से कमांड का उपयोग करके ), यह समूह में सभी को wheelपासवर्ड प्रदान किए बिना किसी भी कमांड को चलाने देगा। इसलिए मुझे लगता है कि सबसे अच्छा उपाय यह है कि आप अपने सभी उपयोगकर्ताओं को किसी न किसी समूह में डाल दें और उस तरह से एक लाइन डाल दें sudoers- जाहिर है कि आपको wheelवास्तविक समूह के उपयोग के साथ प्रतिस्थापित करना चाहिए ।

वैकल्पिक रूप से, आप उपयोगकर्ता को अन्य नाम से परिभाषित कर सकते हैं,

User_Alias     EVERYONE = user1, user2, user3, ...

और उपयोग करें कि:

EVERYONE       ALL = (ALL) NOPASSWD: ALL

यद्यपि आपको /etc/sudoersहर बार उपयोगकर्ता को जोड़ने या हटाने के लिए अपडेट करना होगा ।


2
सभी उपयोगकर्ताओं को निर्दिष्ट करने के ALLबजाय काम नहीं करता है *? में उदाहरण देखें sudoers(5)
मदीना

1
@medina: तो यह है, मुझे याद है कि जब मैं आदमी पृष्ठ पढ़ रहा था। मैं संपादित करूँगा।
डेविड जेड

6
उबंटू के तहत, /etc/sudoers.d के तहत एक फ़ाइल बनाते हुए और इन प्रविष्टियों को उसमें डालें, तो यह आपको sudoers
Xetius

1
CentOS7 में, यह प्रविष्टि डिफ़ॉल्ट रूप से है, बस टिप्पणी की गई है।
किलजॉय

1
केवल कॉपी / पेस्ट करके सेंटोस में इसका उपयोग करने में कामयाब रहा, सीधे कॉन्फ़िगरेशन टाइप करने के हर प्रयास को विफल कर दिया। लेकिन परिणाम रिक्त स्थान को छोड़कर समान लगता है ...
MUY बेल्जियम

95

मैंने बिना किसी लाभ के ऊपर दिए गए समाधानों की कोशिश की। निम्नलिखित समाधान ने मेरे लिए / etc / sudoers फ़ाइल संपादित करें और निम्न पंक्ति जोड़ी

username ALL=(ALL) NOPASSWD: ALL

कुंजी अंतिम पंक्ति है जो कहता है के बाद इसे जोड़ने के लिए है

#includedir /etc/sudoers.d

1
//, यह ऐसा करने के बेहतर तरीके की तरह दिखता है, खासकर जब कुछ एप्लिकेशन सिस्टम उपयोगकर्ताओं के लिए अपने नियम जोड़ेंगे, रिचीपाल। Sudoers.d पर और जानकारी: sudo.ws/man/1.8.13/sudoers.man.html
नाथन Basanese

1
//, क्या आप अपने उत्तर में Gearoid मर्फी से कुछ निदान जोड़ने के लिए तैयार होंगे?
नाथन बसानी

1
इस स्पष्टीकरण के लिए धन्यवाद। #Includedir /etc/sudoers.d लाइन के बाद इसे जोड़ना CentOS 7 में महत्वपूर्ण लगता है, जबकि यह ठीक काम करने के लिए लगता है कि CentOS में फ़ाइल में पहले लाइन 6 है
dmohr

3
% पहिया के NOPASSWD को अनदेखा करने से समस्या /etc/sudoers.d/USERNAMEसमूह की NOPASSWD अनुमति को ओवरराइड करने से उत्पन्न होती है । /etc/sudoers.d/USERNAMEसमस्या को हल करने में NOPASSWD लागू करना ।
इल घीज़

1
इसमें एक बड़ा हिस्सा, शामिल होने के बाद महत्वपूर्ण है
थिओडोर हॉवेल

27

मैंने इस पृष्ठ पर सभी उत्तरों की कोशिश की, कोई उपयोगी परिणाम नहीं मिला। आखिरकार मुझे पता चला, अपने सूडो अधिकारों की सूची के लिए इस आदेश का उपयोग करें:

sudo -l

यह आपको इस तरह से एक आउटपुट देना चाहिए:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

यह दिखाता है कि मैं रूट विशेषाधिकारों के साथ कॉन्फ़िगर किया गया हूं, लेकिन मैं अभी भी एक ऐसे समूह (एडमिन) का हिस्सा हूं, जो एक sudo नियम से मेल खाता है, जो पासवर्ड की अपेक्षा करता है ("(ALL) ALL")। यह मुझे संकेत देने के लिए सूद को मजबूर कर रहा था। प्रश्न में नियम व्यवस्थापक उपयोगकर्ता थे:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

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


1
आह, धन्यवाद! यह मुझे पागल कर रहा था ... मेरे मामले में, मेरा उपयोगकर्ता "sudo" समूह के साथ-साथ "व्यवस्थापक" (जो मैंने बनाया था) का हिस्सा था, और प्रत्येक पर अनुमतियाँ गलत-मिलान थीं, क्योंकि वे आपके मामले में थे । अब यह सामान काम करता है! :)
नीज़ेर

14
एक लाइन के बाहर टिप्पणी करना एक कुंद साधन है। आप जानकर खुशी है कि रुचि हो सकती है के अनुसार, "sudo पढ़ता sudoers फाइल और ऊपर से नीचे तक के क्रम में अनुमतियाँ लागू होता है तो फ़ाइल में अंतिम पंक्ति किसी भी पिछले संघर्ष ऊपर लिख देगा।" Ubuntuforums.org/showthread.php?t=1132821 - - और यह मेरे लिए काम किया।
डेविड जे।

10

भीतर /etc/sudoersबस उस फ़ाइल के नीचे की ओर का एक उदाहरण है:

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

2
वह नमूना मेरा नहीं था - लेकिन धन्यवाद!
वॉरेन

1
अपने रसीले जवाब की तरह
श्री पे

6

सुडोर्स फ़ाइल को छूने के बिना इसे करने का एक और तरीका है।

  • /etc/pam.d/suनीचे दी गई लाइन को संपादित करें और उसे अनलाइक करें :

    auth           sufficient      pam_wheel.so trust use_uid
    
  • उपयोगकर्ता को wheelसमूह में जोड़ें ।


2

सुडोर्स फ़ाइल को छूने के बिना इसे करने का एक और तरीका है।

  • /etc/pam.d/sudoनीचे दी गई पंक्ति को संपादित करें और जोड़ें:

    परस्‍पर पर्याप्‍त pam_wheel.so विश्‍वास use_uid
  • उपयोगकर्ता को wheelसमूह में जोड़ें ।

"सुडो" के बजाय "सु" के संबंध में मूल उत्तर के लिए "टॉपडॉग" और "डैनियल सेरोडियो" के लिए सहारा। मैंने एक संदर्भ के रूप में और बेशर्मी से नकल की, और संशोधन किया, उनकी पोस्ट का उपयोग किया।


1
मुझे लगता है कि शब्दशः की नकल करने के बजाय, उन्हें श्रेय देना बेहतर होगा, लेकिन इस बारे में स्पष्ट रहें कि आपके उत्तर बिल्कुल अलग कैसे हैं। मुझे लगता है कि यह बिना पासवर्ड suके / साथ ही पासवर्ड रहित अनुमति देता है sudo? डैनियल के अलावा सिर्फ स्वरूपण है, वैसे।
mwfearnley
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.