ansible的remote_user和become_user有什么区别

问题描述 投票:0回答:2

考虑到该游戏将在本地或远程运行,我需要了解ansible的remote_user和become_user之间的区别。

之间的区别:

- hosts: all
  become: yes
  become_user: user1

- hosts: all
  remote_user: user1

如果服务器之间设置了 ssh 密钥,会有什么区别吗?

我尝试用谷歌搜索差异,但没有找到任何好的解释。

ansible privileges elevated-privileges
2个回答
9
投票

问:“服务器之间设置 SSH 密钥会有什么不同吗?”

答:之间的特权

没有区别
- hosts: all
  become: yes
  become_user: user1

- hosts: all
  remote_user: user1
  become: no

user1 设置的 environment 之间可能存在差异:

  • 权限升级,例如
    sudo user1
  • ssh 连接到
    user1@host

备注:

  • 最佳实践是不允许 ssh root
  • 在大多数情况下,become_userroot(这也是默认的)
  • 在大多数情况下,需要两个步骤:
    1. 连接到 remote_user@host
    2. 将权限升级到root成为:yes)。
  • 请参阅成为非特权用户的风险

8
投票
  • become_user 表示将执行playbook 的用户,远程用户将在远程服务器上执行它。

  • 成为:是的,默认情况下会自动执行 sudo 来 root。但是然后你告诉它remote_user:deployer,它告诉服务器登录的用户是deployer,并且在他们登录后执行默认的sudo。

有稳定的差异:

  • 变成:是= 。使用 sudo 并默认为 root
  • become_user: user1 = 使用become:yes 中的sudo 并成为用户user1。
  • remote_user:user1 = 在该远程服务器上以 foofoo 身份登录。
© www.soinside.com 2019 - 2024. All rights reserved.