美文网首页
ansible 普通用户提权执行命令

ansible 普通用户提权执行命令

作者: 与狼共舞666 | 来源:发表于2022-01-28 16:16 被阅读0次

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命令

相关文章

网友评论

      本文标题:ansible 普通用户提权执行命令

      本文链接:https://www.haomeiwen.com/subject/vmltkrtx.html