ansible启用sudo执行命令

  今天又一个要求,想通过sudo的普通用户执行ansible的命令,而不是通过root用户去执行系统管理的命令。步骤如下

一、先修改ansible.cfg文件,启用sudo,指定sudo的用户为lisi

forks = 5
#poll_interval = 15
sudo_user = lisi
#ask_sudo_pass = True
#ask_pass = True

 

二、在被管的host上启用sudo,添加sudo的用户

visudo

 

三、修改ansible端的hosts文件,如下

[test]
192.168.52.134 ansible_ssh_user=lisi ansible_ssh_pass='123'    ansible_sudo_pass='123'

可以指定ssh远程连接的密码,和客户端sudo时候的密码

 

四、最后远程执行命令

ansible test  -m  command -a "df -hT"  -u lisi --sudo  -k

-u    执行远程的用户,与sudo用户一致    --sudo 表示启用sudo   -k 表示ssh连接的时候输入密码

192.168.52.134 | SUCCESS | rc=0 >>

文件系统                类型      容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root xfs        17G  4.1G   13G   25% /

devtmpfs                devtmpfs  475M     0  475M    0% /dev

tmpfs                   tmpfs     492M     0  492M    0% /dev/shm

tmpfs                   tmpfs     492M  8.1M  483M    2% /run

 

posted @ 2019-08-05 10:53  二勇的技术博客  阅读(11524)  评论(0编辑  收藏  举报