
我有一個在 Linux 上的 /etc/crontab 中運行的 bash 腳本
$ uname -a
Linux mymachine.com 3.4.76-65.111.amzn1.x86_64 #1 SMP Tue Jan 14 21:06:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
bash 腳本包含一行
sudo shutdown -r 5
但是,當 cron 作業運行時(作為名為「myuser」的使用者),機器永遠不會重新啟動,而是在日誌中找到它
[sudo] password for myuser:
我需要做什麼才能讓該用戶能夠從 cron 重新啟動?不能選擇以其他使用者身分執行此腳本。
答案1
您需要一行內容/etc/sudoers
如下:
myuser ALL = NOPASSWD: /sbin/shutdown
該NOPASSWD
部分告訴sudo
我們myuser
在提供密碼的情況下執行關閉命令。
要將這樣的行新增到/etc/sudoers
,請執行(以 root 身分):
sudoedit /etc/sudoers
sudoedit
將在安裝之前掃描文件的更新版本是否有錯誤。因此,這比直接編輯文件更安全。