Ada beberapa cara untuk mencapai ini. Seseorang akan bekerja dengan akun biasa yang tidak memiliki hak istimewa yang akan mengharuskan menjalankan perintah dengan sudo dan memasukkan kata sandi. Kemudian Anda dapat menambahkan follwing ke / etc / sudoers (dengan menjalankan visudo):
## user is allowed to execute reboot -r only
jdoe ALL=NOPASSWD: /sbin/shutdown -r *
Juga, untuk menonaktifkan caching kredensial sudo, tambahkan berikut ini juga:
Defaults timestamp_timeout=0
Ini akan mencegah caching kredensial jika Anda memanggil perintah dengan sudo sebelumnya.
Contoh:
[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:
Perhatikan bagaimana dalam contoh di atas saya tidak perlu memasukkan kata sandi saya ketika menjalankan sudo shutdown -r +10
, tetapi untuk sisanya saya diminta. Jika Anda ingin menghapus kebutuhan untuk mengetik sudo sebelum perintah ( sudo shutdown -r +10
), tambahkan berikut ini ke .bash_profile atau .bashrc Anda:
alias shutdown="sudo shutdown"
Contoh:
[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:
Perhatikan bahwa praktik terbaik untuk bekerja dengan akun yang tidak istimewa dan meningkat dengan sudo bila diperlukan.