Có một vài cách để đạt được điều này. Một người sẽ làm việc với một tài khoản không có đặc quyền thông thường sẽ yêu cầu chạy lệnh với sudo và nhập mật khẩu. Sau đó, bạn có thể nối thêm follwing vào / etc / sudoers (bằng cách chạy visudo):
## user is allowed to execute reboot -r only
jdoe ALL=NOPASSWD: /sbin/shutdown -r *
Ngoài ra, để tắt bộ đệm thông tin xác thực sudo, hãy thêm vào như sau:
Defaults timestamp_timeout=0
Điều này sẽ ngăn thông tin lưu trữ thông tin trong trường hợp bạn đã gọi một lệnh với sudo trước đó.
Thí dụ:
[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:
Lưu ý rằng trong ví dụ trên tôi không bắt buộc phải nhập mật khẩu khi chạy sudo shutdown -r +10
, nhưng đối với phần còn lại tôi là. Nếu bạn muốn loại bỏ sự cần thiết phải gõ sudo trước lệnh ( sudo shutdown -r +10
), hãy thêm phần sau vào .bash_profile hoặc .bashrc:
alias shutdown="sudo shutdown"
Thí dụ:
[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:
Lưu ý rằng cách tốt nhất để làm việc với tài khoản không có đặc quyền và leo thang với sudo khi được yêu cầu.