TTY経由でないsudoの実行

rsyncコマンドをsshクライアントやコンソール上で実行せず、自動処理スクリプト内等で実行させようとすると以下の様なメッセージが出てエラーとなる場合がある。

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

 

この問題を回避するためにはsudoのデフォルト設定の「Defaults requiretty」を無効化する必要がある。

/etc/sudoersから該当行を以コメントアウトすればよい。

#vi /etc/suduers

#Defaults    requiretty