小编Ahm*_*med的帖子

当用户对父目录没有写权限时,为什么 chmod 对文件成功?

我试图了解 Linux 中的文件/目录权限。用户可以使用列出目录中的文件

cd test
ls -l 
Run Code Online (Sandbox Code Playgroud)

即使发出上述命令的用户对 test 目录中的任何文件没有读、写或执行权限,他仍然可以列出它们,因为他/她对 test 目录有读权限。

那么为什么在下面的场景中用户B可以更改他拥有的文件的权限但没有父目录的写权限?

用户 A,创建一个测试目录并让其他用户能够在其中写入:

mkdir test
chmod o+w test
Run Code Online (Sandbox Code Playgroud)

用户 B,在 test 文件夹中创建一个文件。

cd test
touch b.txt
Run Code Online (Sandbox Code Playgroud)

用户A从目录中删除其他人的写权限

chmod o-w test
Run Code Online (Sandbox Code Playgroud)

用户 B,可以成功更改权限,即使权限是目录的一部分,并且该用户对他拥有的文件的父目录没有写权限

chmod g-r b.txt
Run Code Online (Sandbox Code Playgroud)

为什么chmod没有失败,因为用户无法修改具有文件信息的目录 - 权限等?

permissions directory chmod files file-metadata

4
推荐指数
1
解决办法
943
查看次数

标签 统计

chmod ×1

directory ×1

file-metadata ×1

files ×1

permissions ×1