रूट उपयोगकर्ता से, मैं किसी अन्य उपयोगकर्ता को फ़ाइल /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
और user1
ACLs ( 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
तो आपके द्वारा लिखी गई कमांड में क्या समस्या है ?