Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 是否有执行Shipit的方法;“远程”;使用";sudo“;与root用户以外的其他用户?_Ssh_Sudo - Fatal编程技术网

Ssh 是否有执行Shipit的方法;“远程”;使用";sudo“;与root用户以外的其他用户?

Ssh 是否有执行Shipit的方法;“远程”;使用";sudo“;与root用户以外的其他用户?,ssh,sudo,Ssh,Sudo,使用自动化引擎时,我发现尝试从root以外的用户(让我们称之为“devuser”)执行带有“sudo”的命令会导致连接关闭,而不执行命令 这是我正在尝试执行的命令: shipit.remote(“sudopwd”) 请注意,在目标机器上,“devuser”可以使用“sudo”执行所有操作,而无需询问其密码(这是目标系统的选择)。 还要注意的是,在没有“sudo”的情况下调用的所有内容(显然不需要提升权限)都会被Shipit完美地执行。 这个很好用: shipit.remote(“pwd”) 这一

使用自动化引擎时,我发现尝试从root以外的用户(让我们称之为“devuser”)执行带有“sudo”的命令会导致连接关闭,而不执行命令
这是我正在尝试执行的命令:

shipit.remote(“sudopwd”)

请注意,在目标机器上,“devuser”可以使用“sudo”执行所有操作,而无需询问其密码(这是目标系统的选择)。
还要注意的是,在没有“sudo”的情况下调用的所有内容(显然不需要提升权限)都会被Shipit完美地执行。
这个很好用:

shipit.remote(“pwd”)

这一点上的问题是:我是做错了什么,还是出于设计(例如,为了避免特权升级)?
如果是后者:有没有办法解决这一限制?

简单的解决方法是在使用
shipit运行的每个命令中设置用户。这是一个小开销,特别是如果有很多命令,但它会做到这一点。这方面的命令是:

su - <user> -c "<command>"
你的例子是正确的

致以最良好的祝愿,
尼古拉

谢谢你@nicola loncar。你的答案很合理,我会尽快尝试。是否可以将其用于shipit部署任务?因为它是不可定制的
shipit.remote('su - devuser -c "pwd"');