如果我在这里错过了一个答案,我很抱歉。 但我做了这个谷歌,找不到一个简单的答案。
我想启用apache用户作为另一个用户运行命令,但是当我这样做:
echo "PASSWORD" | sudo -u another_user -S echo "X"
在PHP脚本中 ,我得到:
[sudo] password for apache:
apache用户没有密码,所以我不能只输出它来运行sudo 。 任何方式我可以启用apache用户运行sudo的another_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
这是不是一个好主意,是一个不同的讨论。