Linux 服务器上不可触碰的文件,即使权限为 777

Linux 服务器上不可触碰的文件,即使权限为 777

我的 Web 服务器上有一个文件,我无法对其进行重命名、删除、移动、编辑等任何操作。我已将权限设置为 777。我还能做什么?

编辑:澄清一下 - 这是在托管服务上,我没有 shell 访问权限。该文件是 Drupal 安装的 settings.php。

解决方案:目录文件权限不准确。感谢建议检查这一点的人。

答案1

检查扩展属性(如果适用):

# lsattr file
----i-------------- file
# chattr -i file

“i”位是“不可变的”,这意味着它抵制一切改变。

答案2

我还可以做些什么?

  • 告诉我们您正在运行什么操作系统/发行版
  • 如果是 Linux,请检查 SELinux 或 Apparmor 是否正在运行
  • 如果 SELinux 正在运行,那么输出是什么"ls -lZ file"
  • 使用 unlink 删除文件而不是 rm
  • 用于ls -i显示文件的 inode 并尝试通过 inode 编号删除它

使用风险自负。

答案3

我猜它是那些烦人的文件之一.pureftp-upload。即使不是,我通常也有两种方法处理这些文件。

  • 使用您的网络托管控制面板(可能是 CPanel)中的文件管理器。
  • 尝试使用 PHP(将 pureftp-upload 文件名替换为您的文件名):
$f = “.pureftp-upload.23kjfvds9osd890235mn”;
取消链接($f);

<?php然后在开头和?>结尾用 包围上述代码(代码格式与 php 标签不太兼容)。

答案4

如果此文件位于可通过 Apache Web 服务访问的文件夹中,则可能需要暂时停止 Apache,然后进行更改。

我知道 Windows 中的 IIS 有类似的东西,如果文件可能被访问,那么用户权限就不重要了。

相关内容