ansible特权升级成为[方法]:'sudo'和'su'之间的值差异?

时间:2018-11-15 03:28:24

标签: ansible ansible-2.x

查看此文档:ansible privileges escalation 在此文档中,它提到了:

  

-become-method = BECOME_METHOD       要使用的特权升级方法(default = sudo),有效选择:[sudo | su | pbrun | pfexec | doas | dzdo | ksu |符文| machinectl]

'sudo'和'su'有什么区别?到底发生了什么?

run_command上的remote_host为例?

become_method方法是在sudo run_command上使用remote_host。是真的吗但是我认为sudo不是become to some user方法,su不是。

它们是什么?有什么区别?

1 个答案:

答案 0 :(得分:2)

sudo方法使用sudo命令,而su方法使用su命令。这两个命令都可用于以另一个用户身份运行命令。比较:

sudo -u someuser echo hello world

使用:

su someuser -c 'echo hello world'

它们的语义略有不同。 sudo命令由您的/etc/sudoers文件控制,可以配置为无需密码即可进行特权升级。使用su,您将始终需要在命令行上使用--ask-become-pass或通过设置ansible_become_pass变量来提供密码。