一段时间后sudo工作不正常

时间:2014-05-20 11:29:18

标签: linux bash sudo tty

我有Linux服务器(CentOS版本6.4),它能够处理用户发送的源代码。在服务器上是一个Java应用程序,它启动一个bash脚本,它将以有限的方式运行这些源代码的编译和执行命令(时间和内存有限,没有Internet,由有限的用户执行)。

Java程序必须始终运行,因此它可以注册新的作业请求。 启动时,Java程序运行正常,但一段时间后(几天说话),命令无法正常执行。我收到以下错误消息:

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

导致该行的是:

sudo -u codiana $COMMAND &

其中$COMMAND是与其参数一起执行的命令

应用程序重启后(kill并重新启动)一切正常。 Linux上有一些时间限制会导致这种情况吗?

1 个答案:

答案 0 :(得分:1)

您可以评论/ etc / sudoers:

#Defaults    requiretty

修改

 man sudoers |  grep requiretty -A 5
   requiretty      If set, sudo will only run when the user is logged in
                   to a real tty.  When this flag is set, sudo can only be
                   run from a login session and not via other means such
                   as cron(8) or cgi-bin scripts.  This flag is off by
                   default.

所以如果不希望打开/ etc / sudoers,请选择文本编辑器并注释掉这一行。