Ssh 是否有执行Shipit的方法;“远程”;使用";sudo“;与root用户以外的其他用户?
使用自动化引擎时,我发现尝试从root以外的用户(让我们称之为“devuser”)执行带有“sudo”的命令会导致连接关闭,而不执行命令Ssh 是否有执行Shipit的方法;“远程”;使用";sudo“;与root用户以外的其他用户?,ssh,sudo,Ssh,Sudo,使用自动化引擎时,我发现尝试从root以外的用户(让我们称之为“devuser”)执行带有“sudo”的命令会导致连接关闭,而不执行命令 这是我正在尝试执行的命令: shipit.remote(“sudopwd”) 请注意,在目标机器上,“devuser”可以使用“sudo”执行所有操作,而无需询问其密码(这是目标系统的选择)。 还要注意的是,在没有“sudo”的情况下调用的所有内容(显然不需要提升权限)都会被Shipit完美地执行。 这个很好用: shipit.remote(“pwd”) 这一
这是我正在尝试执行的命令: shipit.remote(“sudopwd”) 请注意,在目标机器上,“devuser”可以使用“sudo”执行所有操作,而无需询问其密码(这是目标系统的选择)。
还要注意的是,在没有“sudo”的情况下调用的所有内容(显然不需要提升权限)都会被Shipit完美地执行。
这个很好用: shipit.remote(“pwd”) 这一点上的问题是:我是做错了什么,还是出于设计(例如,为了避免特权升级)?
如果是后者:有没有办法解决这一限制?简单的解决方法是在使用
shipit运行的每个命令中设置用户。这是一个小开销,特别是如果有很多命令,但它会做到这一点。这方面的命令是:
su - <user> -c "<command>"
你的例子是正确的
致以最良好的祝愿,
尼古拉谢谢你@nicola loncar。你的答案很合理,我会尽快尝试。是否可以将其用于shipit部署任务?因为它是不可定制的
shipit.remote('su - devuser -c "pwd"');