सुडो -यू के साथ एक अलग उपयोगकर्ता के रूप में कमांड निष्पादित करने में समस्या


12

जब मैं निम्नलिखित कमांड के साथ lsउपयोगकर्ता के रूप में निष्पादित करने की कोशिश कर रहा हूं तो मुझे abcएक त्रुटि मिलती है:

xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.

लेकिन अगर मैं करता हूं su abcऔर फिर निष्पादित करता lsहूं तो मुझे कोई समस्या नहीं है

जवाबों:


17

आपको उपयोगकर्ता xyz को उपयोगकर्ता abc के रूप में कुछ निष्पादित करने की अनुमति देने के लिए sudo सुरक्षा नीति को कॉन्फ़िगर करना चाहिए। 'मैन सूडर्स' पढ़ें और कॉन्फ़िगर करने के लिए / आदि / सुडोर्स के लिए विदो कमांड का उपयोग करें।

उदाहरण के लिए आइए उपयोगकर्ता xyz को क्रियान्वित करें / usr / bin / whoami के रूप में उपयोगकर्ता बिना पासवर्ड के abc। इस स्ट्रिंग को / etc / sudoers में जोड़ें (visudo के साथ, सीधे संपादित न करें / etc / sudoers):

xyz ALL = (abc) NOPASSWD: /usr/bin/whoami

और अब इसका परीक्षण करें:

xyz@host:~$ sudo -u abc /usr/bin/whoami
abc

क्या आपने समझा कि सीधे संपादन / इत्यादि से बचना चाहिए?
आदि प्रसादियो

क्योंकि जब आप सीधे / आदि / sudoers को संपादित करते हैं तो आप गलती कर सकते हैं, sudoers फ़ाइल को तोड़ दिया और (सबसे खराब स्थिति में) sudo का उपयोग करके अपने आप को ब्लॉक कर दिया। 'विस्कोस' सिर्फ एक संपादक नहीं है, यह सूडर्स फाइल के सिंटैक्स की भी जांच करता है और गलतियों,
टाइपोस

4

ऐसा इसलिए है क्योंकि इससे sudoअलग है su। जब आप su abc, abcसिस्टम बन जाते हैं , तो आप उपयोगकर्ता बन जाते हैं। फिर आप कुछ भी कर abcसकते हैं जो कर सकते हैं।

दूसरी ओर, sudoअन्य उपयोगकर्ताओं को प्रॉक्सी द्वारा कुछ कमांड निष्पादित करने की अनुमति देने के लिए उपयोग किया जाता है। दूसरे शब्दों में, आपका sudoकॉन्फ़िगरेशन आपको कुछ आदेशों को करने की अनुमति देता है abc। यदि आप जिस कमांड को निष्पादित करने का प्रयास कर रहे हैं, उनमें से एक नहीं है, तो आपको वह त्रुटि मिलती है जो आपने रिपोर्ट की थी।


0

मामले में सब कुछ ठीक दिख रहा है, लेकिन आपको अभी भी Sorry user xxx cannot execute...संदेश मिल रहा है और यह आपसे sudoहर बार पासवर्ड मांगता रहता है ।

तुम यह केर सकते हो:

  1. में /etc/sudoersअपने उपयोगकर्ता सेटिंग के साथ नष्ट लाइन
  2. फाइल सुरक्षित करें
  3. फ़ाइल खोलें, उस उपयोगकर्ता के लिए अपने विकल्प टाइप करें (NO COPING)
  4. फाइल सुरक्षित करें
  5. कोशिश करो।

इसने मेरे लिए काम किया। यह पता चला कि उस पंक्ति का अंत बुरा था क्योंकि मैंने उन आदेशों की प्रतिलिपि बनाई थी जिन्हें ईमेल से निष्पादन की आवश्यकता थी।


निश्चित रूप से यदि आपने visudoइसे पहली बार संपादित करने के लिए इस्तेमाल किया था , तो आपको बताया जाएगा कि?
शुभ अंक

नहीं, तुम नहीं होगा।
बोरबोर

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