ansible-权限提升(become)

有些任务,使用普通权限无法完成时,可以使用sudo来提升执行的权限。

例如,启动apache:

- name: Ensure the httpd service is running
  service:
    name: httpd
    state: started
  become: yes

此时,默认使用sudo 来执行启动httpd服务,如果sudo需要密码,你需要使用-K参数,提示你需要密码:

$ ansible-playbook ./test.yml -K
SUDO password:

你必须确保使用的账号在sudo 组中: 

$ visudo

root    ALL=(ALL)       ALL
myaccount     ALL=(ALL)       ALL

 

  • become:设置为yes激活权限提升。
  • become_user :设置为具有所需权限的用户 - 您成为的用户,而不是您登录的用户。并不意味着,允许将其设置为主机级别。必须跟become: yes 一起使用。
  • become_method :在播放或任务级别)覆盖ansible.cfg中设置的默认方法,设置为sudo / su / pbrun / pfexec / doas / dzdo / ksu / runas / machinectl
  • become_flags :(在游戏或任务级别)允许使用特定标志来执行任务或角色。一个常见用途是在将shell设置为no login时将用户更改为nobody。在Ansible 2.2中添加。

其他参考:https://docs.ansible.com/ansible/latest/user_guide/become.html

你可能感兴趣的:(ansible)