Linux AIDE正则排除规则不生效,匹配文件仍被纳入检测报告求助
Linux AIDE正则排除规则不生效,匹配文件仍被纳入检测报告求助
遇到这种正则规则在AIDE里不生效的情况确实挺闹心的,我帮你梳理几个大概率的原因和对应的解决办法:
正则语法差异问题
你在测试工具上用的是PCRE正则,但AIDE默认使用的是POSIX基本正则表达式(BRE),两者语法有不少区别:- BRE不支持
\d这种简化字符类,得换成[0-9] - BRE里的量词大括号
{}需要转义,也就是要写成\{3\}而不是{3}
修正后的排除规则应该是这样的:
!/root/\.cpanel/datastore/Cpanel::Net::Whois::IP::Cached_[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{2,3\}$- BRE不支持
规则顺序问题
AIDE的规则是按从上到下的顺序匹配的,如果你的排除规则写在某个包含(include)该文件路径的规则之后,先触发的include规则会覆盖后面的exclude规则。你得确保这条排除规则放在所有能匹配到该文件的include规则前面。AIDE数据库未更新
如果你添加了新的排除规则后,没有重新初始化AIDE的数据库,旧数据库里依然记录着这些要排除的文件,自然会在检测报告里出现。执行下面的命令更新数据库:aide --init # 把生成的新数据库替换成当前使用的数据库(根据你的系统配置可能略有不同) cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
可以先试试这几个方向,应该能解决你的问题~
备注:内容来源于stack exchange,提问作者Alexios Tsiaparas
相关产品推荐
相关产品推荐

