检测文件何时丢失

检测文件何时丢失

我在文件服务器上使用 CENT OS 7。在该文件服务器上,我有一个目录,公司的应用程序使用该目录来存储文件。删除该目录后,应用程序将无法正常运行。这个问题也非常零星。每2-3个月发生一次。会不会是权限的问题?我使用了两种不同的权限方案,并在下面列出了它们。使用第一个,目录被删除了两次。使用了第二个,但目录尚未删除,可能表明问题已解决?

添加了以下权限:

chmod 750 /Bac/BacFileStore/directory
chmod -R 0777 /Bac/bacFileStore/directory

答案1

更改目录的权限永远不会导致其被删除。某些程序或个人必须明确删除它。所以你的问题的答案是“否”,这不是权限问题。

如果某个“邪恶”的人知道目录所有者的密码,则可能会删除该目录。更糟糕的是:使用新权限“0777”,任何有权访问文件服务器的人都可以删除目录中的任何文件/Bac/bacFileStore/directory。你也许不应该这样保留它。 “750”或“755”(如果允许任何人访问该目录,则为后者)将是更好的选择。

答案2

Centos 有 Gnu chmod,因此您可以使用符号模式。这更容易理解。chmod -R ugo-w /Bac/bacFileStore/directory(删除用户、组和其他用户的写权限)。

请注意,所有者和根用户(以及任何具有适当能力的人)可以更改模式并删除。请注意,删除文件的权限是写入包含目录的权限(另请参见粘位,如果多个用户可以写入一个目录)。

因此,可能需要更改文件及其包含目录的所有权和权限。

检测文件何时丢失

您可以用来inotify-wait检测文件何时丢失。您需要让它继续运行,当文件更改时它会被唤醒。

答案3

设置 777 权限向有权访问您的文件服务器的每个人授予读/写权限 - 包括删除。这可能就是您想要设置文件服务器的方式。但是,将您的应用程序也写在这里可能会出现问题。它只是将文件写入文件服务器还是应用程序在这里执行其他工作?如果是这样,我建议您将应用程序配置为使用文件服务器不可用的目录。如果有人删除了您的应用程序正在使用的文件,您将会遇到问题。此外,在该文件的处理完成之前,您的应用程序正在使用的已删除文件不会真正被删除。

相关内容