sudo: क्षमा करें, उपयोगकर्ता रूट को निष्पादित करने की अनुमति नहीं है


7

यह आदेश OpenSuSE 11.4 पर विफल रहता है:

root@host# sudo -S -u "coreapp_customer1_d" -g "coreapp_customer1_d"  /bin/bash -l -c "mkdir -p /home/coreapp_customer1_d/.ssh"

इस संदेश के साथ:

Sorry, user root is not allowed to execute 
'/bin/bash -l -c mkdir -p /home/coreapp_customer1_d/.ssh' 
as coreapp_customer1_d:coreapp_customer1_d
on workdevel114.

लेकिन यह OpenSuSE 12.3 पर काम करता है।

मैंने दोनों प्रणालियों के / etc / sudoers फ़ाइल की तुलना की, और (टिप्पणी लाइनों को छोड़कर) वे समान हैं।


1
मैं कहूंगा कि "रूट को इसे निष्पादित करने की अनुमति नहीं है", लेकिन जिस उपयोगकर्ता को आप (coreapp_customer1_d: coreapp_customer1_d) के रूप में निष्पादित करने का प्रयास कर रहे हैं, उसे ऐसा करने की अनुमति नहीं है। की अनुमति की जाँच करें /home/coreapp_customer1_d तथा /home/coreapp_customer1_d/.ssh
Tim

जवाबों:


7

मुझे खुद यह समस्या थी और मैं इसे सुलझा सकता था

root    ALL=(ALL:ALL) ALL

में visudo। महत्वपूर्ण हिस्सा है :ALL सूदर्स मैन पेज यह कहता है:

निम्न उदाहरण में, उपयोगकर्ता tcm एक मॉडेम तक पहुँचने वाले कमांड चला सकता है   डायलर समूह के साथ डिवाइस फ़ाइल।

tcm बोल्डर = (: डायलर) / usr / बिन / टिप, / usr / बिन / घन, \           / Usr / स्थानीय / bin / minicom

ध्यान दें कि इस उदाहरण में केवल समूह सेट किया जाएगा, फिर भी कमांड   उपयोगकर्ता tcm के रूप में चलाता है। जैसे

$ सुडो-जी डायलर / यूएसआर / बिन / क्यू

मेरे संदर्भ में -g जब मैं एक समूह के साथ क्या लिख ​​सकता हूँ, यह जानना चाहता था, तो यह पूरी बात थी:

sudo -u nobody -g some_group find . -writable 2> /dev/null > /tmp/some_group_writable.txt

1

मुझे अपने आसपास एक काम मिला:

मेरे संदर्भ में -g विकल्प (समूह) की जरूरत नहीं है। यदि आदेश इसके बिना कॉल किया जाता है, तो यह पुराने वितरण पर काम करता है।

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