实时地监控root密码的修改并立即发出报警可以使用 auditd 和 audisp-remote 来实现这个功能。以下是具体步骤:
安装必要的软件包:sudo yum install audit audisp-plugins postfix mailx配置审计规则:
编辑 /etc/audit/rules.d/audit.rules 文件,添加以下规则:
-w /etc/shadow -p wa -k password-change重启审计服务:
sudo service auditd restart创建一个脚本来处理密码变更事件:
创建一个名为 /usr/local/bin/password_change_alert.sh 的脚本文件:
#!/bin/bash ALERT_EMAIL="your_email@example.com" echo "Root password change detected!" | mail -s "URGENT: Root Password Changed" $ALERT_EMAIL
确保将 your_email@example.com 替换为你想接收警报的邮箱地址。
给脚本添加执行权限:sudo chmod +x /usr/local/bin/password_change_alert.sh配置 audisp-remote:
编辑 /etc/audisp/audisp-remote.conf 文件,确保以下行被正确设置:
active = yes direction = out path = /sbin/audisp-remote type = always format = string配置 audispd:
编辑 /etc/audisp/plugins.d/af_unix.conf 文件,确保以下行被正确设置:
active = yes direction = out path = /sbin/audispd type = always args = /usr/local/bin/password_change_alert.sh format = string重启 auditd 服务:
sudo service auditd restart配置邮件服务:
如果你还没有配置过邮件服务,需要配置 Postfix 来发送邮件。编辑 /etc/postfix/main.cf 文件,添加或修改以下行:
relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt smtp_use_tls = yes
然后创建 /etc/postfix/sasl_passwd 文件:
[smtp.gmail.com]:587 username@gmail.com:password
替换 username@gmail.com 和 password 为你的 Gmail 账户信息。
运行以下命令:
postmap /etc/postfix/sasl_passwd chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db systemctl restart postfix
这样设置后,每当 root 密码被更改,你就会立即收到一封提醒邮件。这个方法会实时监控 /etc/shadow 文件的变化,只要有写入或属性更改的操作,就会触发警报。
请注意,这个方法可能会产生一些误报,因为它监控的是 /etc/shadow 文件的任何更改,而不仅仅是 root 密码的更改。如果你希望更精确地只监控 root 密码的更改,可能需要编写更复杂的脚本来解析审计日志并检查具体是否为 root 密码更改。
另外,为了确保系统安全,建议同时采取其他安全措施,如使用强密码策略、限制 root 登录、使用 SSH 密钥认证等。
网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


