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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值