我正在使用 jenkins 集成我的 cakephp 项目。
现在,我正在探索 Phing 的使用。我需要运行一项任务
service php5-fpm restart
到目前为止,我尝试手动执行此操作。我不能这样做,除非我这样做sudo
请告知我如何在不使用 sudo 的情况下执行此命令?
我知道有一个选项,我可以简单地将 Phing 正在使用的用户放入 sudoers 中,然后不提示输入密码,但出于安全原因,这并不理想。所以我更喜欢问如何在不提示输入密码的情况下执行此操作。
答案1
你问题的最后一段是误导性的,至少对我来说是这样。如果您的目标是找到一种以service
用户身份调用Phing
而无需输入密码的方法,我会使用sudo
.我将尽力按照我的理解回答你的问题,因为我不明白sudo
在你的情况下反对使用的是什么。
只需添加一行
Defaults exempt_group=Phing
到/etc/sudoers
。此行将用户添加到不规定路径和密码要求Phing
的组中。sudo
此外,您还必须添加行
Phing ALL=(root) /full/path/to/service
或更改 的现有行Phing
,以便sudo
他能够访问service
.
在那之后
sudo service php5-fpm restart
不应Phing
再要求输入密码。
如果您想要更严格一点,您可以添加以下行
Phing ALL=(root) NOPASSWD: /full/path/to/service
不使用exempt_group
.然后您必须提供sudo
完整路径service
(如果它不在标准路径中),因此命令欺骗是不可能的。
如果您想节省一些输入,您还可以在 shell 中使用sudo service
或来别名。sudo /full/path/to/service
service