linux下如何查看文件被篡改

本文详细介绍如何使用Inotify工具在Linux系统中监控文件或目录的状态变化,包括创建、删除、修改等事件,适用于系统管理员和开发人员进行实时文件监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### Linux Shell 脚本检测关键文件篡改 为了有效检测 Linux 系统中的关键文件是否遭到恶意修改,可以编写一个基于哈希校验的 shell 脚本来实现这一功能。该脚本会计算并存储选定的关键文件的初始哈希值,在后续运行时重新计算这些文件的新哈希值并与原始记录对比。 下面是一个简单的示例脚本: ```bash #!/bin/bash # 定义要监控的重要文件列表 FILES="/etc/passwd /etc/shadow /etc/group" # 哈希算法选择 SHA-256 ALGORITHM="sha256sum" # 存储哈希值的位置 HASHFILE=".file_hashes.txt" LOGFILE="./tamper_detection.log" # 初始化函数:首次创建或更新哈希数据库 initialize() { echo "正在初始化..." rm -f $HASHFILE for FILE in $FILES; do if [[ -e "$FILE" ]]; then $ALGORITHM $FILE >>$HASHFILE fi done } # 检测函数:比较当前文件与之前保存的哈希值 detect_tampering() { echo "正在进行篡改检测..." while read -r line || [[ -n "$line" ]]; do CURRENT_HASH=$($ALGORITHM $(echo $line | cut -f3)) SAVED_HASH=$(echo $line) if [ "$CURRENT_HASH" != "$SAVED_HASH" ]; then echo "$(date): 文件 $(echo $line | cut -d' ' -f3) 已被更改!" >>$LOGFILE fi done <$HASHFILE } case "$1" in init) initialize ;; check) detect_tampering ;; *) echo "Usage: $0 {init|check}" esac ``` 此脚本提供了两个主要操作模式:“`init`”用于建立或刷新受保护文件的哈希摘要,“`check`”则用来验证现有文件是否有任何未经授权的变化[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值