Linux 显示我有写权限但我无法删除此文件

Linux 显示我有写权限但我无法删除此文件

Linux 显示我有写入权限,但我无法删除此文件。我已经检查过,我对每个父目录都有执行权限。知道这是怎么发生的吗?:

deployer@my-web:/usr/local/bin$ ls -la
total 10656
drwxr-xr-x  2 root     root        4096 Feb 11 21:25 .
drwxr-xr-x 10 root     root        4096 Feb  3 13:21 ..
-rwxr-xr-x  1 deployer deployer 1836198 Mar 18 19:05 composer

deployer@my-web:/usr/local/bin$ rm composer
rm: cannot remove ‘composer’: Permission denied

答案1

简而言之,您不仅需要文件的权限,还需要保存文件的目录的权限。在传统 UNIX 中,目录实际上是一种特殊的文件 - 其中包含指向其中文件的指针。所以这就是为什么您需要对目录具有写 (w) 访问权限。

在这种情况下,您需要更改(或让特权所有者更改)/usr/local/bin 的权限。

答案2

目录的权限与文件的权限并不完全相同。
写权限允许用户创建、删除或修改任何文件或子目录,即使该文件或子目录归其他用户所有。

对于目录,由于使用相同的命令,因此没有太大变化。但是,由于目录通常包含也需要分配给新用户或组的文件,因此我们使用 '-R' 旗帜,代表 '递归'——换句话说,所有子目录及其文件:

chown -R user:group dirname

相关内容