gpt4 book ai didi

ansible - 为 Ansible playbook 中的一组任务设置 remote_user,而无需为每个任务重复设置

转载 作者:行者123 更新时间:2023-12-03 03:38:24 25 4
gpt4 key购买 nike

我正在创建一个剧本,它首先创建一个新用户名。然后我想以我刚刚创建的新用户身份运行“moretasks.yml”。目前,我正在为每项任务设置remote_user。有没有办法可以为整组任务设置一次?我似乎找不到这方面的例子,我尝试移动remote_user也没有找到帮助。

下面是main.yml:

---
- name: Configure Instance(s)
hosts: all
remote_user: root
gather_facts: true

tags:
- config
- configure

tasks:
- include: createuser.yml new_user=username
- include: moretasks.yml new_user=username
- include: roottasks.yml #some tasks unrelated to username.

moretasks.yml:

---
- name: Task1
copy:
src: /vagrant/FILE
dest: ~/FILE
remote_user: "{{newuser}}"

- name: Task2
copy:
src: /vagrant/FILE
dest: ~/FILE
remote_user: "{{newuser}}"

最佳答案

首先,您肯定想使用sudo_user(远程用户是登录的用户,sudo_user 是执行任务的用户)。

在您的情况下,您希望以刚刚设置的另一用户(之前创建的用户)的身份执行任务:

- include: moretasks.yml
sudo: yes
sudo_user: "{{ newuser }}"

这些任务将作为 {{ newuser }} 执行(不要忘记引号)

备注:在大多数情况下,您应该将 remote_user 视为主机参数。允许登录计算机并具有足够权限执行操作的用户。对于操作性的东西,你应该使用 sudo/sudo_user

关于ansible - 为 Ansible playbook 中的一组任务设置 remote_user,而无需为每个任务重复设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27307773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com