今天又一個要求,想通過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
