博客园  :: 首页  :: 管理

关于ansible-对linux主机的连接性及sudo权限检测

Posted on 2023-04-19 13:16  520_1351  阅读(83)  评论(0编辑  收藏  举报

对于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