【发布时间】:2014-01-06 06:15:55
【问题描述】:
我有一个 resque worker 会运行一些 shell 命令。
例如
ruby
`sudo echo "XXX" >> xx.log`
但是当工人运行时,会引发以下错误
sudo: no tty present and no askpass program specified
我添加了“whoami”调试代码来查找运行此 sudo 命令的用户, 并在执行命令不需要密码时设置该用户的组“test”。 我也在 shell 控制台中运行相同的命令,它工作正常,不需要输入密码。
sudo visudo
%test ALL=NOPASSWD:ALL
但是当worker运行sudo时,会出现上述错误,需要输入密码。
谁能告诉我为什么? 谢谢。
【问题讨论】:
-
为什么需要 sudo?
标签: ruby-on-rails linux shell resque sudo