问题描述
如何以root用户身份运行Envoy?我有一台禁用了root
访问权限的公司服务器,但是我可以sudo -s
对其进行访问。
例如,通过Envoy运行git pull
时,我会得到:
[詹金斯]:错误:无法打开.git / FETCH_HEAD:权限被拒绝
我尝试将sudo -s
添加到其中:
@task('deploy')
sudo -s
git pull
@endtask
但这只会导致:
[jenkins]:sudo:不存在tty且未指定askpass程序
是否可以以root身份运行Envoy?
解决方法
只需以root用户身份登录服务器
@servers(['web' => 'root@webserver.example.com'])
但是以root用户身份登录并运行命令不是最安全的方法。 设置ssh密钥后,至少要禁用root用户的密码登录。
在理想环境中,您应该拥有一个只能运行部署所需命令的用户。