在Ansible中,可以通过在远程主机上使用sudo命令来限制权限。下面是一个示例:
$ sudo visudo
在sudoers文件中添加以下行,以允许特定用户在执行ansible-playbook命令时使用sudo:
ansible_user ALL=(ALL) NOPASSWD:/usr/bin/ansible-playbook
上述行的含义是允许ansible_user用户在执行ansible-playbook命令时使用sudo,而无需输入密码。
[remote_hosts]
remote_host ansible_user=ansible_user
在上面的示例中,将远程主机的用户名设置为ansible_user。
- hosts: remote_hosts
become: yes
tasks:
- name: Run command with sudo
command: ls -l /root
在上述示例中,使用become: yes选项来指示Ansible使用sudo权限执行远程命令。
通过上述步骤,您可以使用具有限制权限的sudo在Ansible中执行远程命令。