ssh – 有没有办法执行使用“root”以外的用户使用“sudo”的Shipit“远程”命令?

ssh – 有没有办法执行使用“root”以外的用户使用“sudo”的Shipit“远程”命令?,第1张

概述当使用 Shipit自动化引擎时,我发现尝试使用非root用户使用“sudo”执行命令(让我们称之为“devuser”)会导致连接关闭而不执行命令. 这是我正在尝试执行的命令: shipit.remote(‘sudo pwd’); 请注意,在目标计算机上,“devuser”可以使用“sudo”执行所有 *** 作,而不会被问到他/她的密码(它是目标系统的选择). 另请注意,没有“sudo”(显然不需要提升 当使用 Shipit自动化引擎时,我发现尝试使用非root用户使用“sudo”执行命令(让我们称之为“devuser”)会导致连接关闭而不执行命令.
这是我正在尝试执行的命令:

shipit.remote(‘sudo pwd’);

请注意,在目标计算机上,“devuser”可以使用“sudo”执行所有 *** 作,而不会被问到他/她的密码(它是目标系统的选择).
另请注意,没有“sudo”(显然不需要提升权限)调用的所有内容都会被Shipit完美地执行.
例如,这个工作得很好:

shipit.remote(‘pwd’);

现在的问题是:我做错了什么或是这样设计(例如避免特权升级)?
如果是后者:有没有办法解决这个问题?

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

su - <user> -c "<command>"

在你的情况下:

shipit.remote('su - devuser -c "pwd"');

你跟你的榜样走在正确的轨道上.

最好的祝福,尼古拉

总结

以上是内存溢出为你收集整理的ssh – 有没有办法执行使用“root”以外的用户使用“sudo”的Shipit“远程”命令?全部内容,希望文章能够帮你解决ssh – 有没有办法执行使用“root”以外的用户使用“sudo”的Shipit“远程”命令?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1018069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存