ansible - Ansible:考虑使用 'become'、'become_method' 和 'become_user' 而不是运行 sudo
问题描述
当我运行这个:
ansible host -u myuser -a "sudo su - otheruser -s /bin/bash"
我收到警告:
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather
than running sudo
host | SUCCESS | rc=0 >>
但是使用become
for什么是等效的sudo su - otheruser -s /bin/bash
?
我试过:
ansible host -u myuser --become --become-user otheruser -a "/bin/echo hello"
但我得到:
host | FAILED! => {
"changed": false,
"module_stderr": "Shared connection to host closed.\r\n",
"module_stdout": "sudo: a password is required\r\n",
"msg": "MODULE FAILURE",
"rc": 1
}
PS Ansible 版本:2.6.4
解决方案
我必须指定--become_method su
. 或者更具体地说ansible host -u myuser --become-method su --become-user otheruser -a "/bin/echo hello"
PS我通过-a "/bin/echo hello"
了,因为ansible希望在更改用户后运行一些命令。
推荐阅读
- neural-network - Pytorch resNet 在哪里加值?
- angular - 为大纲更改 mat-icon 中的主题
- visual-studio-code - Tab Stop 在 VS Code 中的片段选项中
- inno-setup - Inno Setup打包的文件中检测到木马
- c - 在 UDP 非阻塞客户端/服务器对中生成的随机 EWOULDBLOCKs 与 SIGIO 生成的 recvfroms
- python-3.x - Pandas DF 中的截断行
- cassandra - 如何在 cassandra 中将数据从一列移动到同一表中具有不同数据类型的另一列
- slack - 只有主要所有者可以在 Slack 上发布消息
- c# - 如何从类库中引用 nuget 包的子集?
- javascript - Express - 使用 express.static 时路由不起作用