运行“sudo -u”而不询问当前用户的密码

如果我在这里错过了一个答案,我很抱歉。 但我做了这个谷歌,找不到一个简单的答案。

我想启用apache用户作为另一个用户运行命令,但是当我这样做:

echo "PASSWORD" | sudo -u another_user -S echo "X"

在PHP脚本中 ,我得到:

[sudo] password for apache:

apache用户没有密码,所以我不能只输出它来运行sudo 。 任何方式我可以启用apache用户运行sudoanother_user帐户下的一组特定的命令没有密码?


PS:我现在有

apache ALL=(yourhost) /usr/bin/git --git-dir=/* --work-tree=/* pull origin master

在我的sudoers文件。

查找sudoers文件中的“NOPASSWD”用法。

如下所示:

apache ALL=(yourhost) NOPASSWD:/usr/bin/git --git-dir=/* --work-tree=/* pull origin master

这是不是一个好主意,是一个不同的讨论。