zabbix5.0监控服务器上用户密码的失效时间
1、简介
1)Linux账号密码过期会导致crontab不能执行
2)具体遇到过的问题,有一次在某用户下的crontab进程没有执行,经过查询是某用户的密码到期了,每90天需要改一次密码,需要改密码了;
为了解决这个问题,需要监控用户密码有效期,使用chage进行查询或修改密码有效期;这里在这个基础上建立zabbix监控;
2、步骤
步骤描述:1)关闭selinux--》2)建立监控脚本--》3)设置sudo参数--》4)zabbix的web页面上设置;
1)关闭selinux
selinux的问题太多,导致一直运行失败,问题无法解决,①一直有个avc的问题,还是关了selinux,②毕竟sealert没有给出selinux相应的权限,这里还是关了selinux吧
2)监控监控脚本【参考1】
[[email protected] ~]# cat /etc/zabbix/zabbix_agentd.d/chageUser.sh #!/bin/bash LANG=en_US.UTF-8 user_name=$1 end_year=`sudo chage -l ${user_name} | head -2| tail -1 | awk -F: '{print $2}'| awk -F',' '{print $2}'| awk '{print $1}'` if [ "${end_year}" == "" ];then exit 0 fi end_mounth=`sudo chage -l ${user_name} | head -2| tail -1 | awk -F: '{print $2}'| awk -F',' '{print $1}'| awk '{print $1}'` case ${end_mounth} in 'Jan') end_mounth=1;; 'Feb') end_mounth=2;; 'Mar') end_mounth=3;; 'Apr') end_mounth=4;; 'May') end_mounth=5;; 'Jun') end_mounth=6;; 'Jul') end_mounth=7;; 'Aug') end_mounth=8;; 'Sep') end_mounth=9;; 'Oct') end_mounth=10;; 'Nov') end_mounth=11;; 'Dec') end_mounth=12;; esac end_day=`sudo chage -l ${user_name} | head -2| tail -1 | awk -F: '{print $2}'| awk -F',' '{print $1}'| awk '{print $2}'` end_date_s=`/bin/date -d "${end_year}"-"${end_mounth}"-"${end_day}" +%s` star_date_s=`/bin/date +%s` let diffday=(${end_date_s}-${star_date_s})/86400 echo ${diffday} [[email protected] ~]# cat /etc/zabbix/zabbix_agentd.d/chageUser.conf UserParameter=chageUser[*],/etc/zabbix/zabbix_agentd.d/chageUser.sh $1 [[email protected] ~]# ls -al /etc/zabbix/zabbix_agentd.d/ -rw-r--r--. 1 root root 71 10月 19 00:56 chageUser.conf -rw-r--r-x. 1 root root 1051 10月 19 00:56 chageUser.sh [[email protected] ~]#3)设置sudo【参考2】
echo 'zabbix ALL=(ALL) NOPASSWD: /usr/bin/chage' >> /etc/sudoers.d/zabbix
4)zabbix的web页面上配置
①新建一个监控模块
②建立监控项的参数
③建立图形
④建立触发器,提供告警
⑤查看效果
参考1:https://blog.****.net/u014199409/article/details/106235119
参考2:https://www.linuxidc.com/Linux/2015-07/120297.htm
时间:2020-10-23