查看此文档: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
不是。
它们是什么?有什么区别?
答案 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
变量来提供密码。