对于Linux系统的配置检测,需要从如下两个点进行检测
1、对于登录连接测试,即ssh登录认证
2、sudo权限的检测,这里抽查一个命令进行简单的检测
创建.yaml 文件,内容如下
#description: Conection and sudo permission test for linux server #author: QQ:5201351 --- - hosts: "{{hostid}}" tasks: - name: 1.Check Login connection and sudo permission for linux #shell: command sudo systemctl status sshd shell: command echo "" | sudo -S chage -l root ...
核心的命令是 echo "xxx" | sudo -S chage -l root 对于单台主机、也可以直接在这台主机上使用ansible用户进行检测
其中sudo -S 表示从 read password from standard input
先决条件,对于配置了类似如下的sudo相关的配置,(通过visudo命令,或者编辑/etc/sudoers)
ansible ALL=(ALL) NOPASSWD: /usr/bin/passwd --stdin [A-Za-z0-9]*, /usr/bin/chage *
以上面的例子说明:配置了 NOPASSWD 的,可以通过 echo "xxx" | sudo -S chage -l root 进行检测,
因为是NOPASSWD的,所以xxx写成任意密码都是可以成功的,当然建议写成""空字符串,就更为严谨,真正意义上测试是不是NOPASSWD
所以使用上面的方式,可以更加快速的检测,连接性与sudo的配置(否则就会进入交互式,批量检测时,时间就会更长)
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17332982.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!