我的 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 有类似的东西,如果文件可能被访问,那么用户权限就不重要了。