当我尝试使用 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
并尝试做类似的事情:
- 在此目录中创建一些文件
- 删除这个文件