CentOS資料一覧

sudoがターミナル上では実行できるのにcronからは実行できない

2014/5/15更新

対応バージョン: 6.4

sudoはデフォルトではttyを持っていないと実行できず、以下のようなエラーが出る。

sudo: sorry, you must have a tty to run sudo

これを回避するには/etc/sudoersの以下の行をコメントアウトすればよい。

Defaults requiretty

ただこの場合は全てのアカウントでttyなしのsudo実行が可能になってしまうので、特定のアカウントのみ実行を許可したい場合は以下のように!requirettyを付ける。

Defaults requiretty
Defaults:tony !requiretty