cron など端末がない状態で sudo を使うと、例えば ssh では次のようになる
$ ssh some_host sudo ls
sudo: sorry, you must have a tty to run sudo
端末が無いとプログラムは echo back を止めることができないので、sudo のパスワードが丸見えになってしまう。
なので端末の有無を sudo は見ているのだけど、NOPASSWD を指定しているユーザではこの制限はいらない。
%wheel ALL=(ALL) NOPASSWD: ALL
Defaults:%wheel !requiretty
としておいた。