不使用 sudo 运行“service php5-fpm restart”

不使用 sudo 运行“service php5-fpm restart”

我正在使用 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/serviceservice

相关内容