我已在文件上设置了这些权限:
----r--r-x 1 rick rick 50 Nov 20 18:39 hello_world
现在我尝试用rick组成的用户rick打开文件。
rick@ubuntu:~/Documents$ cat hello_world
cat: hello_world: Permission denied
为什么他不能读它?
答案 0 :(得分:6)
您的权限现在设置为read
仅适用于“群组”和“其他人”。
如评论中所述,用户rick
确实属于该组,但重要的是所有者的事实,因此检查的权限是第一列上的权限,恰好是{ {1}},即---
。因此,0
未被考虑在内。
将权限更改为更正常的内容:)
group
然后你就可以阅读了。权限如下:
chmod 644 hello_world
4 read
2 write
1 execute
表示读取+写入。
答案 1 :(得分:6)
由于访问过程具有用户标识“rick”,因此仅检查 禁止读取的拥有用户权限。只有当访问过程不与文件所有者具有相同的用户标识时,内核才会考虑它可能是该文件组的成员。
作为文件的拥有用户运行的任何进程都可以使用chmod
系统调用将其权限位设置为他们想要的任何内容,因此拒绝对拥有用户的读取或写入访问是无效的安全性度量,但它仍然可以是一个有用的安全度量。换句话说,您可以使用权限位来防止文件被其拥有的用户意外地破坏,而不是故意。