एक विशिष्ट उपयोगकर्ता के रूप में पासवर्ड रहित sudo सक्षम करें


26

मेरे पास अपने सिस्टम पर दो उपयोगकर्ता हैं: itsadokमेरा मुख्य उपयोगकर्ता और elasticsearch, एक उपयोगकर्ता जो इलास्टिक खोज को चलाने के लिए एक अलग ulimit के साथ है।

मैं हर बार पासवर्ड के लिए संकेत किए बिना द्वितीयक उपयोगकर्ता के रूप में सामान चलाने में सक्षम होना चाहूंगा।

मैंने निम्नलिखित पंक्ति को इसमें जोड़ा /etc/sudoers:

itsadok ALL=(elasticsearch:elasticsearch) NOPASSWD: ALL

जिस तरह से मैं इसे समझता हूं, यह उपयोगकर्ता को किसी भी होस्ट पर, पासवर्ड के बिना किसी भी कमांड (उपयोगकर्ता या समूह) के रूप में elasticsearch चलाने के लिए अनुमति देना चाहिए। हालांकि, कुछ कोशिश कर रहा है

itsadok@dev001$ sudo -u elasticsearch ls

मुझे एक पासवर्ड के लिए संकेत देता है। मशीन को फिर से चालू करने से कोई फायदा नहीं हुआ।

मैं क्या गलत कर रहा हूं?

अद्यतन :

यह हमारे sudoersलिए महत्वपूर्ण है कि लाइनों का क्रम महत्वपूर्ण है। मैंने "उपयोगकर्ता विशेषाधिकार विनिर्देश" के तहत लाइन रखी, जो सही जगह की तरह लग रही थी, लेकिन %adminबाद में आने वाले समूह के लिए लाइन सेटिंग को ओवरराइड कर रही थी।

एक ही लाइन को sudoers फ़ाइल के अंत में डालने से समस्या ठीक हो जाती है।

जवाबों:


12

टिप्पणियों से संशोधित उत्तर: यदि आप नीचे निर्देश देते हैं #includedir, तो उन्हें नजरअंदाज कर दिया जाता है। sudoया adminसमूह परिभाषाओं के आगे की रेखा को स्थानांतरित करें , या इसे अलग फ़ाइल में रखें /etc/sudoers.d/


काम नहीं किया। इसके अलावा, फ़ाइल में पहले से ही root ALL=(ALL:ALL) ALLबृहदान्त्र के आसपास कोई स्थान नहीं था , इसलिए यह सही नहीं लगता है। बस सुरक्षित रहने के लिए, मैंने सिर्फ कोशिश की (elasticsearch)। काम नहीं करता है।
15ad में इसका

आप सही हैं, यह कम से कम 12.10 में व्हॉट्सएप के बिना काम करता है। आप किस उबंटू का उपयोग कर रहे हैं और वास्तव में sudoersआप इस पंक्ति को कहां रखते हैं? मुझे बेहोशी याद है कि अगर पुराने सिस्टम पर आपने पहली बार लाइन डाली #includedir, तो इसे नजरअंदाज कर दिया गया। यदि यह फ़ाइल के अंत में है, तो इसे शामिल करने वाले के ऊपर डालने का प्रयास करें।
तुम्मीनिद

1
आपकी टिप्पणी ने मुझे सही रास्ते पर स्थापित किया: प्रविष्टियों का क्रम मायने रखता है। बाद में सेटिंग्स पहले की सेटिंग्स को ओवरराइड करती हैं।
इसकायादोक

16

इन कदमों का अनुसरण करें:

  1. संपादित करें sudoers फ़ाइल (यह /etc/sudoers.d/file_name में मौजूद हो सकती है)
sudo visudo -f /etc/sudoers
  1. फ़ाइल के अंत में लाइन जोड़ें
usernameusedforlogin ALL=(ALL) NOPASSWD:ALL
  1. फाइल सुरक्षित करें
esc :wq!

यह उपयोगकर्ता को किसी भी उपयोगकर्ता के रूप में पासवर्ड के बिना सभी मेजबानों पर सभी कमांड चलाने की अनुमति देता है, लेकिन यह किसी भी समूह विशेषाधिकारों को मंजूरी नहीं देता है, जो मूल प्रश्न का हिस्सा था। आमतौर पर, यह खराब सलाह है क्योंकि आप उपयोगकर्ता को बहुत व्यापक विशेषाधिकार दे रहे हैं।
d4nyll
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.