提问人:Ashar 提问时间:5/2/2019 最后编辑:Vladimir BotkaAshar 更新时间:10/1/2023 访问量:7421
ansible 的 remote_user 和 become_user 有什么区别
What is the difference between ansible's remote_user & become_user
问:
我需要了解 ansible 的 remote_user 和 become_user 之间的区别,考虑到该游戏将在本地或远程运行。
区别:
- hosts: all
become: yes
become_user: user1
- hosts: all
remote_user: user1
如果在服务器之间设置了 ssh 密钥,会有什么区别吗?
我试图在谷歌上搜索差异,但没有找到任何很好的解释。
答:
9赞
Vladimir Botka
5/2/2019
#1
问:“如果在服务器之间设置了 SSH 密钥,会有什么区别吗?
答:两者之间的特权没有区别
- hosts: all
become: yes
become_user: user1
和
- hosts: all
remote_user: user1
become: no
为 user1 设置的环境可能存在以下差异:
- 权限提升,例如
sudo user1
和 - SSH连接到
user1@host
。
笔记:
- 最佳做法是不允许 ssh root
- 在大多数情况下,become_user 是 root(这也是默认设置)
- 在大多数情况下,需要两个步骤:
- 连接到remote_user@host并
- 将权限升级为 root(变为:yes)。
- 请参阅成为非特权用户的风险。
8赞
Bhatasana Prashant
5/2/2019
#2
become_user表示将执行 playbook 的用户,远程用户将在远程服务器上执行该 playbook。
become: yes 默认情况下,它将自动对 root 执行 sudo。但后来你告诉它 remote_user:deployer,它告诉服务器登录的用户是部署者,并在他们登录后执行默认的 sudo。
有稳定的差异:
- 变成:yes = .默认使用 sudo 和 be root
- become_user:user1 = 使用 sudo from become:yes 并成为用户 user1。
- remote_user:user1 = 在该远程服务器上以 foofoo 身份登录。
评论