我是tim
该bob
组中的用户,我有一个具有不寻常权限的文件:
$ whoami
tim
$ groups
lp wheel cron audio cdrom video bob tim
$ ls -l foo
--w--w-r-- 1 bob bob 10 Feb 15 18:43 foo
由于该文件foo
是全世界可读的,我应该能够读取该文件,但我不能。
$ cat foo
cat: foo: Permission denied
我是否可以以用户身份读取文件tim
? Steve 可以,我很羡慕...
$ whoami
steve
$ cat foo
secret!
抱歉,标题不好。我很难简洁地描述这个问题。
答案1
在 Unix 中,权限检查严格按照以下顺序进行:如果用户是文件的所有者,则适用所有者权限。如果用户不是所有者,但属于文件的组,则适用组权限。如果用户不是文件的所有者或不属于文件的组,则适用其他权限。在特殊情况下,root 可以做任何她想做的事情。
答案2
问题是您明确将该文件设置为不可由组“bob”的成员读取,并且tim
是 的成员bob
。
您需要tim
从bob
组中删除,或者将文件的组设置为tim
不属于其成员的组。