रूट उपयोगकर्ता से, मैं किसी अन्य उपयोगकर्ता को फ़ाइल /root/script.sh को निष्पादित करने की अनुमति कैसे दे सकता हूं?
स्क्रिप्ट को चलाने का विचार है sudo -u user1 /root/script.sh
su(1)
रूट उपयोगकर्ता से, मैं किसी अन्य उपयोगकर्ता को फ़ाइल /root/script.sh को निष्पादित करने की अनुमति कैसे दे सकता हूं?
स्क्रिप्ट को चलाने का विचार है sudo -u user1 /root/script.sh
su(1)
जवाबों:
उपयोगकर्ता के पास होना चाहिए
संपूर्ण निर्देशिका पथ के लिए अनुमति निष्पादित करें ( /rootकेवल यहां )
फ़ाइल के लिए अनुमति निष्पादित करें
फ़ाइल के लिए अनुमति पढ़ें
यह /rootअछूता छोड़ने और इस उद्देश्य के लिए एक अलग निर्देशिका बनाने (या उपयोग) करने के लिए एक अच्छा विचार हो सकता है (जैसे /usr/local/bin)। आप user1केवल उसी उपयोगकर्ता को बना सकते हैं जिसे स्क्रिप्ट को फ़ाइल का स्वामी बनाकर या rootमालिक और समूह के रूप में छोड़ने की अनुमति है, सरल एक्सेस अनुमतियों ( chmod) को सेट करें 770और user1ACLs ( setfacl) के साथ जोड़ें ।
यदि आपकी लिपि रूट डाइर में स्थित है, तो
$ LC_ALL=C ls -ld /root
drwx------ 17 root root 4096 Mar 5 20:14 /root
user1 केवल जड़ हो सकता है।
आपकी /etc/sudoersप्रविष्टि दिखेगी
Cmnd_Alias SCRIPT=/root/script.sh
# user who is allowed executing /root/script.sh
%user ALL = (ALL) SCRIPT
आप सामान्य रूप से फ़ाइल को संपादित करेंगे visudo
फिर आपको -u rootअपने sudoकमांड में डालने की भी आवश्यकता नहीं है ।
%उपयोगकर्ता समूह का मतलब है। जब आप इसे छोड़ देते हैं तो केवल उपयोगकर्ता को कमांड निष्पादित करने की अनुमति होती है। यदि आप उपयोगकर्ताओं के एक समूह को निष्पादित करना चाहते हैं, तो इसे छोड़ दें।
sudoतो आपके द्वारा लिखी गई कमांड में क्या समस्या है ?