sudo:没有tty存在且没有指定askpass程序(尝试启动apachectl)

前端之家收集整理的这篇文章主要介绍了sudo:没有tty存在且没有指定askpass程序(尝试启动apachectl)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在运行hudson来监视几个 shell作业.
问题是hudson以用户“hudson”运行所有作业.

没关系,除了一些需要超级用户权限的特殊命令,比如“chown”和“apachectl”
我们有以下inour sudoers文件:(visudo)

Defaults:hudson !requiretty
%hudson ALL = NOPASSWD: /usr/sbin/apachectl,/bin/chown

但是当我们想在shell脚本中调用apachectl -k graceful时,这会给我们带来以下错误

sudo: no tty present and no askpass program specified

有没有人知道如何解决这个问题?

解决方法

[从以上评论中移出]

您的脚本可能在除$usr / sbin / apachectl之外的$PATH中的其他位置找到apachectl二进制文件.这将无法匹配您现有的sudoers条目.如果使用显式路径调用该命令(即在脚本中使用/usr/sbin / apachectl,而不仅仅是apachectl),则可以确保使用正确的路径.这是一般的好习惯.

原文链接:https://www.f2er.com/linux/397640.html

猜你在找的Linux相关文章