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

当多人通过Samba等协议访问同一共享目录时,文件可能被意外删除、修改或上传恶意内容。通过Linux文件变动检测机制,您可以实时收到通知,快速响应异常操作,提升系统安全性与管理效率。
首先,确保您的Ubuntu系统已更新,并安装必要的软件包:
sudo apt updatesudo apt install samba inotify-tools -ysamba用于创建网络文件共享,inotify-tools则提供文件系统事件监控能力,是实现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现在我们使用 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、发送邮件告警或集成到自动化运维平台中。
记住,良好的监控是数据安全的第一道防线。赶快动手试试吧!
本文由主机测评网于2025-12-13发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025127020.html