相关疑难解决方法(0)

如何根据任务或任务集切换用户?

在我的ansible playbooks中反复出现的主题是我经常必须使用sudo privileges(sudo: yes)执行命令,因为我想为某个用户执行此操作.理想情况下,我宁愿使用sudo切换到该用户并正常执行命令.因为那时我不需要做我常用的post命令清理,例如chowning目录.这是我的一本剧本的摘录:

- name: checkout repo
  git: repo=https://github.com/some/repo.git version=master dest={{ dst }}
  sudo: yes
- name: change perms
  file: dest={{ dst }} state=directory mode=0755 owner=some_user
  sudo: yes
Run Code Online (Sandbox Code Playgroud)

理想情况下,我可以将命令或命令集作为不同的用户运行,即使它需要sudo给该用户.

ansible

147
推荐指数
4
解决办法
17万
查看次数

在sudo用户下应用角色

是否可以在Ansible中将特定角色应用为sudo?

具体来说,这些是从ansible-galaxy获取的角色,因此源不在我的控制之内.

这个例子表明传递sudo:yes给角色应该有效,但我认为必须首先定义角色以期望参数.

更改日志的此部分建议sudo true可以在角色级别设置,但是,以下操作无效:

---
- remote_user: "vagrant"
  tasks: []
  hosts: "all"
  roles:
  - role: "mysql"
    sudo: yes
Run Code Online (Sandbox Code Playgroud)

但是,在顶层应用sudo会使角色起作用:

---
- remote_user: "vagrant"
  tasks: []
  hosts: "all"
  sudo: yes
  roles:
  - role: "mysql"
Run Code Online (Sandbox Code Playgroud)

注-我既试过sudo: truesudo: yes,其结果是一样的.

ansible

6
推荐指数
1
解决办法
4323
查看次数

标签 统计

ansible ×2