如何检测并阻止用户在 Linux 上删除特定文件?

Goo*_*ofy 2 linux filesystems permissions monitoring

是否可以监视用户对文件系统的操作并阻止他执行特定操作?inotify 可以只监视文件系统上的操作吗?fanotify 呢?网络上很少有关于它的...

我的程序(守护进程)通过网络发送特定文件。我想确保,该用户不会删除或移动我的文件,但他云能够读取它。当用户尝试使用任何程序调用删除我的文件时,例如。unlink() 我想让这个 unlink() 调用失败并出现一些错误(EACCES?)。我可以做类似的技巧在 FUSE 上实现文件系统,但这不是解决方案......

Gil*_*il' 5

通过传统的 unix 权限可以轻松实现您的要求。确保用户可以访问存储文件的目录,但不能写入(r-x对目录及其祖先的权限)。授予用户对该文件的读取权限,但不授予写入权限(假设用户不应修改该文件),即r--. 如果没有对该目录的写权限,用户将无法删除该文件。

监控不会帮助你那里。它可以告诉您用户删除了该文件,但您不能仅通过监视此操作来阻止该操作的发生。