如何为服务器中的每个“error_log”文件设置权限 000?

如何为服务器中的每个“error_log”文件设置权限 000?

即使我在 php 设置中禁用了错误报告,一些脚本仍然会生成自己的 error_log 文件,其中一些占用了我 VPS 的所有空间。

我已经知道错误,我想强制它们不可用。我发现的方法是设置 error_log 文件的权限为 000。

现在,我该如何对服务器上的每一个可能的匹配执行此操作?

例如,我想对名为 的每个文件设置权限 000 error_log

答案1

find /var/log -name "error_log" -exec chmod 000 {} \;

是实现此目的最简单、最肮脏的方法。当然,最干净的方法就是重新配置你的程序,使其从一开始就不创建这些文件。

顺便说一句,如果你的程序以 root 身份运行,你就无法通过权限技巧阻止它们写入文件。在这种情况下,你需要:

find /var/log -name "error_log" -exec chattr +i {} \;

这将设置文件的不可变位error_log,防止所有修改。这需要 root 权限。

如果你决定去干净的这样,这里有一些可能对你有帮助的东西:

grep "error_log" /etc -R 2> /dev/null

这将在您的配置文件中查找所有出现“error_log”的地方(假设它们位于 中的某个位置/etc)。相应地编辑您的配置,并毫不犹豫地将搜索范围缩小到某些目录,或者另一个文件名(也许使用绝对路径error_log?)。

相关内容