1.uncommnet以下配置项
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
2.受控端:sudo visudo
sysadmin ALL=(ALL) NOPASSWD:ALL ##无密码登陆,可以调整
ansible test2 -m yum -a "name=polkit state=latest update_only=yes" -u sysadmin --become-method sudo --become-user root -k -K
SSH password:
BECOME password[defaults to SSH password]:
10.42.1.10 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"changes": {
"installed": [],
"updated": [
[
"polkit",
"0.112-26.el7_9.1.x86_64 from updates"
]
]
},
"msg": "",
"rc": 0,
"results": [
"Loaded plugins: fastestmirror, langpacks\nLoading mirror speeds from cached hostfile\nResolving Dependencies\n--> Running transaction check\n---> Package polkit.x86_64 0:0.112-26.el7 will be updated\n---> Package polkit.x86_64 0:0.112-26.el7_9.1 will be an update\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nUpdating:\n polkit x86_64 0.112-26.el7_9.1 updates 170 k\n\nTransaction Summary\n================================================================================\nUpgrade 1 Package\n\nTotal download size: 170 k\nDownloading packages:\nDelta RPMs disabled because /usr/bin/applydeltarpm not installed.\nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n Updating : polkit-0.112-26.el7_9.1.x86_64 1/2 \n Cleanup : polkit-0.112-26.el7.x86_64 2/2 \n Verifying : polkit-0.112-26.el7_9.1.x86_64 1/2 \n Verifying : polkit-0.112-26.el7.x86_64 2/2 \n\nUpdated:\n polkit.x86_64 0:0.112-26.el7_9.1 \n\nComplete!\n"
]
}
-m:要执行的模块,默认为command
-a:指定模块的参数
-u:ssh连接的用户名,默认用root,ansible.cfg中可以配置
-b,--become:变成那个用户身份,不提示密码
-k:提示输入ssh登录密码,当使用密码验证的时候用
-s:sudo运行
-U:sudo到哪个用户,默认为root
-K:提示输入sudo密码,当不是NOPASSWD模式时使用
-C:只是测试一下会改变什么内容,不会真正去执行
-c:连接类型(default=smart)
-f:fork多少进程并发处理,默认为5个
-i:指定hosts文件路径,默认default=/etc/ansible/hosts
-I:指定pattern,对已匹配的主机中再过滤一次
-list-host:只打印有哪些主机会执行这个命令,不会实际执行
-M:要执行的模块路径,默认为/usr/share/ansible
-o:压缩输出,摘要输出
--private-key:私钥路径
-T:ssh连接超时时间,默认是10秒
-t:日志输出到该目录,日志文件名以主机命名
-v:显示详细日志
ansible server1 -m setup #产看指定主机server1上的facts变量信息
ansible * -m setup #查看指定的所有主机上的facts变量信息
ansible-doc -l:列出有哪些可用的模块,按q退出
ansible-doc -l | wc -l:列出有多少个可用的模块
ansible-doc -l | grep user:列出与user有关的模块
ansible-doc user:查看user模块的帮助文档,按q退出。也可以在最后一行输入/passwd,来过滤与passwd有关的内容
ansible test -a 'df -h' 在test组执行df -h命令
网友评论