可用find命令结合-cmin或-ctime按ctime检索配置文件是否被篡改,因ctime记录元数据或内容变更,比mtime更敏感;需明确关键路径如/etc/passwd等,用-cmin/-ctime限定时间范围,配合ls -lc查看ctime,并建议建立基线定期比对。

可以用 find 命令结合 -cmin 或 -ctime 选项,按文件的 状态改变时间(ctime) 检索系统配置文件是否被意外或恶意修改。注意:ctime 记录的是文件元数据(如权限、所有者、链接数)或内容发生变更的时间,只要文件被修改、chmod、chown、touch、mv 等操作都会更新 ctime,因此它比 mtime 更敏感,适合检测篡改行为。
确认关键配置文件路径
先明确你要监控的配置文件位置,例如:
-
/etc/passwd、/etc/shadow、/etc/sudoers /etc/ssh/sshd_config-
/etc/pam.d/目录下相关文件 -
/etc/crontab和/etc/cron.*/
用 -cmin 或 -ctime 按分钟/天检索最近变更
若怀疑近期被篡改,可查过去 N 分钟或 N 天内 ctime 变更过的文件:
- 查过去 30 分钟内状态变更的指定配置文件:
find /etc/passwd /etc/shadow /etc/sudoers -cmin -30 2>/dev/null - 查过去 1 天内(24 小时内)状态变更的 /etc 下关键配置:
find /etc -name 'sshd_config' -o -name 'sudoers' -o -name 'passwd' -ctime -1 2>/dev/null
注意:-ctime -1 表示“少于 1 天”,即最近 24 小时内;-ctime 1 表示“恰好 1 天前(24–48 小时之间)”;-ctime +1 表示“超过 1 天(48 小时之前)”。时间精度取决于系统日志和文件系统挂载选项(如 noatime 不影响 ctime)。
配合 ls -lc 查看详细 ctime 信息
对 find 找出的可疑文件,用 ls -lc 查看其 ctime(即“Change time”):
-
ls -lc /etc/passwd→ 输出中第三列是 ctime 时间戳 - 再对比
ls -l /etc/passwd(显示 mtime)和ls -lu /etc/passwd(显示 atime),三者不一致可能提示异常操作
建立基线并定期比对(实用建议)
单次检查易遗漏,建议:
- 在系统初始化或加固后,运行一次快照:
find /etc -type f \( -name '*.conf' -o -name '*.config' -o -path '/etc/passwd' -o -path '/etc/shadow' \) -printf '%p %C@ %M\n' 2>/dev/null | sort > /var/log/etc-ctime-baseline.txt - 后续定期执行相同命令,用
diff对比,快速发现 ctime 或权限(%M)变化 - 配合
aide或tripwire等完整性校验工具效果更可靠











