作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个剧本,它首先创建一个新用户名。然后我想以我刚刚创建的新用户身份运行“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/
我是一名优秀的程序员,十分优秀!