所以我希望能够在不输入任何密码的情况下进行 cap:deploy。我已经设置了所有私钥,这样我就可以很好地访问远程服务器,并且现在使用 svn over ssh,所以那里没有密码。
我还有最后一个问题,我需要能够重新启动 nginx。现在我有 sudo /etc/init.d/nginx reload 。这是一个问题,因为它使用了 capistrano 密码,我刚刚删除了这个密码,因为我正在使用密钥。关于如何在没有密码的情况下重新启动 nginx 有什么想法吗?
我刚刚花了一个小时研究 sudoer 通配符等试图解决这个确切的问题。事实上,您真正需要的只是一个重新启动 nginx 的 root 可执行脚本。
将其添加到 /etc/sudoers 文件中
username hostname ALL=NOPASSWD: /path/to/script
以 root 身份编写脚本
#! /bin/bash
/bin/kill -HUP `cat /var/run/nginx.pid`
使脚本可执行
Test.
sudo /path/to/script
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)