我想知道 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
答案4
我个人使用 strace 来消除此类问题。 https://stackoverflow.com/questions/174942/how-to-use-strace
引用
例如,尝试搜索文件的代码可能会出现 ENOENT(没有此文件或目录)错误,但这在代码逻辑中可能是可以接受的情况。
引用