通过 SSH 使用 SCP 监控文件副本

Cam*_*ilB 2 networking linux ssh logging

有没有办法保留使用 SCP 复制的文件的日志?我正在管理一个服务器,其中包含一些应该被监控的文件(在特定文件夹及其子文件夹中),所以当有人通过 SSH 复制它们时,应该记录复制过程。

我想查看用户的 Bash 命令历史记录并搜索以 开头的命令scp,但这是公然侵犯隐私,用户也很容易删除此历史记录(即使没有恶意)。

有没有人知道这种方法?我可以使用用户名/密码为服务器创建一个基于 Web 的界面,然后记录下载会很容易,但我对“裸机”解决方案感兴趣,如果有的话。

编辑:我查看了 SSHD 的日志记录选项,例如 FascistLogging 或调试日志记录,但这些选项似乎不太合适。它们真的是解决方案吗?

编辑 2:我开始相信这个问题不应该在 Stack Overflow 上,而应该在 Server Fault 上……我该怎么办?

Jan*_*nen 8

我会使用incron。它利用 Linux 内核inotify子系统,如果某些受监视的目录树/文件被修改,您可以执行任何您想要的操作。该incrontab文件格式非常简单,例如

/your/directory IN_MODIFY /usr/local/bin/log_file_modifications.sh $@/$#
Run Code Online (Sandbox Code Playgroud)

/usr/local/bin/log_file_modifications.sh每次在/your/directory目录树中修改某些内容时都会运行,使用完整路径($@参数)和被修改的文件(参数)调用脚本$#

您的脚本可能很简单

#!/bin/bash
logger -t modification_stalker "Yo dawg, these files got modified $1 $2 ..." 
Run Code Online (Sandbox Code Playgroud)