我有一个Ansible脚本,我希望在远程服务器上运行一些与安装相关的命令。但是要进行安装,必须是root用户或sudo。我试图将用户添加到sudoers但它无法正常工作。
---
- hosts: webservers
gather_facts: no
become: yes
tasks:
- name: Make sure we have a 'wheel' group
group:
name: wheel
state: present
- name: Allow 'wheel' group to have passwordless sudo
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^%wheel'
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
- name: Add sudoers users to abkari group
user: name=abkari groups=wheel append=yes state=present createhome=no
在CentOS上wheel
组是sudo访问的默认组。当我运行此命令时,它不允许执行第一个任务。这里有什么问题?
答案 0 :(得分:0)
非特权用户无法在正确配置的系统上授予自己的root权限(通过编辑sudoers
文件或将其自身添加到wheel
组)。
您需要以root身份显式运行附加的playbook,或者在Ansible中使用become
之前使用root帐户配置系统。
答案 1 :(得分:-1)
您可以在"名称"下添加"成为:是"你的任务(在同一级别)。 它允许以sudo身份执行任务。