sudoはデフォルトではtty(制御端末)を持っていないプロセスから呼び出されると
`sudo: sorry, you must have a tty to run sudo'というエラーを吐く。
普通にログインしてシェルからスクリプトを起動する分にはttyがあるから何もないけど、
これをcronなりinitなりdisownしてdaemonぽくしたシェルにしたりすると大問題。
標準エラー出力には出されるから、cronならメールで飛んでくるかな?
お手製スクリプトをdisownするなら、標準エラー出力をログしておくこと必須。
initスクリプトには是非使わないで欲しい。
ちなみに回避策は"sudo tty"で検索すればさっくり見付かります。
0 件のコメント :
コメントを投稿