इसे प्राप्त करने के कुछ तरीके हैं। एक नियमित रूप से गैर-विशेषाधिकार प्राप्त खाते के साथ काम कर रहा होगा जिसे sudo के साथ कमांड चलाने और पासवर्ड दर्ज करने की आवश्यकता होगी। तब आप follwing को / etc / sudoers (visudo चलाकर) जोड़ सकते हैं:
## user is allowed to execute reboot -r only
jdoe ALL=NOPASSWD: /sbin/shutdown -r *
इसके अलावा, sudo क्रेडेंशियल कैशिंग को अक्षम करने के लिए, निम्नलिखित को भी जोड़ें:
Defaults timestamp_timeout=0
यह क्रेडेंशियल्स कैशिंग को रोक देगा जिसे आपने पहले सूडो के साथ एक कमांड दिया था।
उदाहरण:
[root@ops ~]# su - jdoe
[jdoe@ops ~]$ sudo shutdown -c
[sudo] password for jdoe:
[jdoe@ops ~]$ sudo shutdown -r +10
Shutdown scheduled for Mon 2018-09-03 18:51:13 IDT, use 'shutdown -c' to cancel.
[jdoe@ops ~]$ sudo shutdown -H
[sudo] password for jdoe:
^[[A[jdoe@ops ~]$ sudo shutdown -c
[sudo] password for jdoe:
ध्यान दें कि ऊपर दिए गए उदाहरण में मुझे दौड़ते समय अपना पासवर्ड दर्ज करने की आवश्यकता नहीं थी sudo shutdown -r +10
, लेकिन बाकी मैं था। यदि आप कमांड से पहले sudo टाइप करने की आवश्यकता को दूर करना चाहते हैं ( sudo shutdown -r +10
), अपने .bash_profile या .ashashrc में निम्न जोड़ें:
alias shutdown="sudo shutdown"
उदाहरण:
[jdoe@ops ~]$ source ~/.bash_profile
[jdoe@ops ~]$ shutdown -r +10
Shutdown scheduled for Mon 2018-09-03 19:03:14 IDT, use 'shutdown -c' to cancel.
[jdoe@ops ~]$ shutdown -c
[sudo] password for jdoe:
ध्यान दें कि गैर-विशेषाधिकारित खाते के साथ काम करना और आवश्यकता पड़ने पर सुडो के साथ आगे बढ़ना सबसे अच्छा अभ्यास है।