cron から「shutdown -r 5」コマンドを実行するには、ユーザーにどのような権限を与える必要がありますか?

cron から「shutdown -r 5」コマンドを実行するには、ユーザーにどのような権限を与える必要がありますか?

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は、インストールする前に、更新されたバージョンのファイルをスキャンしてエラーを検出します。したがって、ファイルを直接編集するよりも安全です。

関連情報