当前位置:首页 > Ubuntu > 正文

Ubuntu文件共享监控实战指南(手把手教你用inotify和Samba实现高效文件变动追踪)

在企业或家庭网络环境中,Ubuntu文件共享监控是保障数据安全、及时响应文件变动的重要手段。本文将从零开始,教您如何在Ubuntu系统中搭建并监控Samba共享目录中的文件变化,即使是Linux小白也能轻松上手。

Ubuntu文件共享监控实战指南(手把手教你用inotify和Samba实现高效文件变动追踪) Ubuntu文件共享监控  Samba共享监控 inotify文件监控 Linux文件变动检测 第1张

一、为什么需要文件共享监控?

当多人通过Samba等协议访问同一共享目录时,文件可能被意外删除、修改或上传恶意内容。通过Linux文件变动检测机制,您可以实时收到通知,快速响应异常操作,提升系统安全性与管理效率。

二、准备工作:安装Samba和inotify-tools

首先,确保您的Ubuntu系统已更新,并安装必要的软件包:

sudo apt updatesudo apt install samba inotify-tools -y

samba用于创建网络文件共享,inotify-tools则提供文件系统事件监控能力,是实现Samba共享监控的核心工具。

三、配置Samba共享目录

假设我们要共享 /srv/shared 目录:

sudo mkdir -p /srv/sharedsudo chmod 777 /srv/shared  # 简化权限(生产环境建议更严格)

编辑Samba配置文件:

sudo nano /etc/samba/smb.conf

在文件末尾添加以下内容:

[shared]   path = /srv/shared   browseable = yes   writable = yes   guest ok = yes   read only = no

保存后重启Samba服务:

sudo systemctl restart smbd

四、使用inotify监控文件变动

现在我们使用 inotifywait 工具来监控 /srv/shared 目录的变动。以下是一个简单的监控脚本:

#!/bin/bashMONITOR_DIR="/srv/shared"LOG_FILE="/var/log/file_monitor.log"echo "[$(date)] 开始监控 $MONITOR_DIR" >> "$LOG_FILE"inotifywait -m -r -e create,delete,modify,move "$MONITOR_DIR" --format '%T %e %w%f' --timefmt '%Y-%m-%d %H:%M:%S' |while read event; do    echo "[$(date)] 文件变动: $event" >> "$LOG_FILE"    # 可选:发送邮件或通知(此处省略)done

将上述脚本保存为 /usr/local/bin/monitor_shared.sh,并赋予执行权限:

sudo chmod +x /usr/local/bin/monitor_shared.sh

五、设置开机自启(可选)

为了让监控脚本在系统启动时自动运行,可以创建一个systemd服务:

sudo nano /etc/systemd/system/file-monitor.service

写入以下内容:

[Unit]Description=File Monitor for Shared DirectoryAfter=network.target[Service]ExecStart=/usr/local/bin/monitor_shared.shRestart=alwaysUser=root[Install]WantedBy=multi-user.target

启用并启动服务:

sudo systemctl daemon-reexecsudo systemctl enable file-monitor.servicesudo systemctl start file-monitor.service

六、查看监控日志

所有文件变动都会记录在 /var/log/file_monitor.log 中。您可以使用以下命令实时查看:

tail -f /var/log/file_monitor.log

日志示例:

[2024-06-15 10:30:22] 文件变动: 2024-06-15 10:30:22 CREATE /srv/shared/report.pdf[2024-06-15 10:31:05] 文件变动: 2024-06-15 10:31:05 DELETE /srv/shared/temp.txt

七、总结

通过本文,您已经掌握了在Ubuntu中实现Ubuntu文件共享监控的基本方法。结合Samba共享与inotify工具,您可以轻松构建一个低成本、高效率的文件变动追踪系统。进阶用户还可以将日志接入ELK、发送邮件告警或集成到自动化运维平台中。

记住,良好的监控是数据安全的第一道防线。赶快动手试试吧!