有没有办法在Linux机器上记录失败的文件操作?

有没有办法在Linux机器上记录失败的文件操作?

我想知道 Linux 中是否有一个日志功能可以记录失败的文件操作,例如由于权限问题而无法创建目录或者无法打开文件进行写入,以便轻松跟踪有关文件系统的问题。

答案1

您可以设置一个集中式日志服务器,并配置您的 syslog 守护程序以将所有日志(也)发送到该主机。这样,如果您的 $someserver 确实发生磁盘错误,那么有关该错误的信息仍可能会记录到您的集中式日志服务器中。安装和配置这样的日志服务器很简单,例如syslog-ng可以自动为您设置如下目录树:

/var/log/hosts
/var/log/hosts/host1
/var/log/hosts/host2
/var/log/hosts/host3
...

另外提到的审计子系统非常出色,但是如果包含的文件系统/var出现故障,除非您有单独的日志服务器或其他设置,否则它就没有地方可以写入。

如果你真的喜欢修修补补,喜欢记录一切,无论它占用多少磁盘空间,grsecurity有很多额外的审计功能。但是,如果你已经使用了 SELinux,grsecurity 会取代它。

答案2

查看审计. 它是一个用户空间实用程序,用于存储和搜索Linux内核中的审计子系统生成的审计记录。

答案3

也许这就是你需要的 -http://www.dedoimedo.com/computers/audit.html

答案4

我个人使用 strace 来消除此类问题。 https://stackoverflow.com/questions/174942/how-to-use-strace

引用

例如,尝试搜索文件的代码可能会出现 ENOENT(没有此文件或目录)错误,但这在代码逻辑中可能是可以接受的情况。

引用

相关内容