无法从服务器删除文件

无法从服务器删除文件

当我尝试使用 filezilla 从我的 ftp 中删除文件时,出现以下错误:

550 image.jpg:权限被拒绝

该图像的文件权限为 644,尝试将其更改为更高的权限,但没有成功......

550 CHMOD 777 image.jpg:操作不允许

尝试从 plesk 面板删除,但结果相同。

有什么想法吗?我有一个使用 linux/centos 的 vps 托管。

答案1

您没有该文件的权限。您不是该文件的所有者。因此,您无法删除或更改该文件的权限。在 shell 中尝试以下操作:

sudo rm -f 图像.jpg

答案2

filename删除文件时,您不会修改该文件,但会通过删除->对应关系来修改其父目录inode。单个文件系统中的文件可能有多个名称(硬链接)。当 inode 链接计数器变为 0 时,inode 将被释放。因此,您需要修改父目录的权限,而不是文件的权限。

第二种可能的情况是,在 Linux 文件系统中,文件可能具有属性,可以防止其被删除。请参阅man chattr详细信息。

答案3

我找到了解决方案!问题是由于我使用 php mkdir 函数创建文件的父文件夹而引起的。无论我使用什么作为 mkdir 函数的第二个参数,该文件夹都是以权限 755 创建的。解决方案是在 mkdir 函数之前和之后添加两条神奇的行,如下所示:

$old_mask = umask(0);
mkdir($folder);
umask($old_mask);

我不知道他们到底做了什么,但现在可以正常工作了。父文件夹具有 777 权限,我可以删除其中的任何文件。

答案4

发布

ls -la 图片.jpg

并尝试做类似的事情:

  1. 在此目录中创建一些文件
  2. 删除这个文件

相关内容