エラー: tty が存在せず、askpass プログラムが指定されていません。TTY=不明。PWD=/。USER=root。

エラー: tty が存在せず、askpass プログラムが指定されていません。TTY=不明。PWD=/。USER=root。

/etc/sudoers.d/myAppCommand ファイルで、次のようなコマンドを設定しました。

Cmnd_Alias APP_CMD = /opt/myApp/lib/app-start, \
                                    /opt/myApp/lib/app-stop, \
                                    /opt/myApp/lib/app-restart
#Rules section
#
my-app ALL = NOPASSWD: APP_CMD

しかし、インストール時にこのコマンドを実行すると、以下のエラーが発生します。

2015-01-12 08:22:27 SecurityEvent sudo Rack1 alert sudo:  my-app : no tty present and no askpass program specified ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/opt/myApp/lib/app-start

答え1

何らかの理由で、ファイルrequirettyに設定されていますsudoers。デフォルトでは無効になっているため、ディストリビューション、管理者、またはあなたによって設定されました。

見るこの答えrequiretty単一のコマンドで無効にする方法については、こちらをご覧ください。

関連情報