cronやinit.dでsudoを実行するとエラーになって実行できない

cronやinit.d以下に置いたスクリプトで、
別の以外のユーザで作業しようと思い、sudoを実行したところ、
以下のようなエラーが出て実行できませんでした。

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

どうやら、ttyを使わない場合、sudoは権限に関係なく実行できないようです。

sudoersにある
Defaults requiretty
をコメントアウトすることで解決しました。

参考