我们正在运行 hudson 来监控几个 shell 作业。问题是 hudson 以用户“hudson”的身份运行所有作业。
没关系,除了一些需要超级用户权限的特殊命令,比如“chown”和“apachectl”我们在我们的sudoers文件中有以下内容:(visudo)
Defaults:hudson !requiretty
%hudson ALL = NOPASSWD: /usr/sbin/apachectl, /bin/chown
Run Code Online (Sandbox Code Playgroud)
但是当我们想在我们的 shell 脚本中调用 apachectl -k graceful 时,这会给我们带来以下错误:
sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)
有没有人知道我们如何解决这个问题?
[移自上面的评论]
您的脚本可能会apachectl在. 这将无法匹配您现有的条目。如果您使用显式路径调用命令(即在脚本中使用,而不仅仅是),您可以确保使用正确的路径。一般来说,这是一个很好的做法。$PATH/usr/sbin/apachectlsudoers/usr/sbin/apachectlapachectl
| 归档时间: |
|
| 查看次数: |
15089 次 |
| 最近记录: |