जवाबों:
संक्षिप्त जवाब:
उपयोग करके visudo, अपने sudoers फ़ाइल में निम्नलिखित जोड़ें, उपयोगकर्ता नाम को उचित उपयोगकर्ता नाम के साथ बदलें:
username ALL = /etc/init.d/apache2
यदि आप ऐसा करने से पहले पासवर्ड नहीं लिखना चाहते हैं, तो निम्न का उपयोग करें:
username ALL = NOPASSWD: /etc/init.d/apache2
इसके बाद, 'उपयोगकर्ता नाम' उपयोगकर्ता निष्पादित sudo /etc/init.d/apache2 start(या रोक, पुनरारंभ, आदि) कर सकता है
लंबे उत्तर: यदि आप पहले से ही नहीं है, तो आप इसके लिए एक अलग उपयोगकर्ता को सेटअप करना चाहेंगे, और फिर उपयोगकर्ता या समूह को उस कमांड को निष्पादित करने की अनुमति देने के लिए / etc / sudoers फ़ाइल को कॉन्फ़िगर करें।
उदाहरण के लिए, उपयोगकर्ता 'बेन' को पासवर्ड के लिए रूट प्रॉम्प्टिंग के रूप में सभी कमांड निष्पादित करने की अनुमति देने के लिए, आप निम्न कार्य करेंगे:
ben ALL= ALL
'बेन' को केवल एक कमांड निष्पादित करने की अनुमति देने के लिए (जैसे कहें rm), आप निम्न कार्य करेंगे:
ben ALL= /bin/rm
यदि आप एक उपयोगकर्ता के रूप में एक स्क्रिप्ट चला रहे हैं और पासवर्ड के लिए संकेत नहीं देना चाहते हैं, तो आप 'NOPASSWD' का उपयोग करना चाहेंगे जैसे:
ben ALL=NOPASSWD: /bin/commandname options
आप प्रतिशत नामों के साथ समूह नामों को प्रीफ़िक्स करके समूहों के लिए एक ही काम कर सकते हैं, जैसे:
%supportstaff ALL= NOPASSWD: /bin/commandname
visudoआदेश तो तुम नहीं टूटते अपने संपादन पर सुरक्षा जाँच करता है sudo/ su: दुर्घटना से आदेश unix.stackexchange.com/a/27595/61349
संक्षिप्त उत्तर: सुडो।
कॉल निम्नलिखित के समान होगा: sudo /etc/init.d/apache2 restart
सबसे आसान visudo/ etc / sudoers फ़ाइल को सेट करने के लिए उपयोग करना है। देखें man sudoersऔर man visudoविवरण के लिए।
आप इसे Apache2ctl के लिए एक आवरण लिखकर, वेब प्रशासन समूह को समूह के स्वामित्व को सौंप कर और साद बिट सेट करके भी पूरा कर सकते हैं। यह विस्कोस की तुलना में कम सामान्य समाधान है, लेकिन उपयोगकर्ता की क्षमताओं और त्रुटि की जांच पर कस्टम सीमाएं देता है।
मैंने अपनी जरूरतों के लिए यह टूल लिखा है और इसे github पर साझा किया है: https://github.com/josiahjohnston/ltd_apache2ctl
usernameमापदंडों के सबसेट को प्रतिबंधित किया जा सकता है? कहोstartrestartलेकिन नहींstop?