如何在自动部署期间安全地充当root用户

时间:2015-01-21 16:39:45

标签: git apache deployment sudo

我目前正在使用基于PHP的Rocketeer开发部署脚本。在部署运行期间,在从Git检出新代码之前,我想停止Apache服务。有没有一种非常安全的方法从部署脚本执行此操作?目前,我所能找到的是三种我不喜欢的选择:

  • 为部署ssh用户提供无密码的sudo访问权限以停止/启动Apache
  • 将部署ssh用户切换为root
  • 使用expectsu根据需要切换到root

对于选项一,我不希望Apache运行的用户拥有无密码的sudo访问权限,因为这似乎使我的Web应用程序更容易受到攻击。对于选项二,我不想通过ssh允许root访问。对于选项3,这将需要设置root密码,然后将其作为部署脚本的一部分存储在平面文件中,这是不理想的。

0 个答案:

没有答案