本教程说明如下:
对于目录,写权限允许用户删除目录、修改其内容(创建、删除和重命名其中的文件),以及修改用户可以读取的文件内容。
为了测试这一点,我创建了一个名为subdir没有w权限位的目录dir,并将其放置在一个名为的目录中,该目录设置w了x权限位:
d-wx------ 3 robert robert 4096 2017-12-16 9:07 dir
d--------- 3 robert robert 4096 2017-12-16 9:07 subdir
Run Code Online (Sandbox Code Playgroud)
我能够subdir从robert帐户中删除。
那么我链接的教程是否提供了错误的信息,还是我遗漏了什么?
我有一个具有r权限位的目录:
dr-------- 3 robert robert 4096 2017-12-17 03:47 dir
Run Code Online (Sandbox Code Playgroud)
该目录有两个文件和一个目录:
file 1.txt file 2.txt subdir
Run Code Online (Sandbox Code Playgroud)
当我运行命令ls dir(从robert帐户)时,我在目录内容旁边收到一个错误:
ls: cannot access dir/file 1.txt: Permission denied
ls: cannot access dir/file 2.txt: Permission denied
ls: cannot access dir/subdir: Permission denied
file 1.txt file 2.txt subdir
Run Code Online (Sandbox Code Playgroud)
为什么ls即使显示目录的内容也没有任何问题却显示错误?
假设我们有以下文件,该文件归用户root和组所有root:
-rw-r----- 1 root root 54 2017-12-18 04:21 1.txt
Run Code Online (Sandbox Code Playgroud)
并假设我们有一个进程fsuid,root但与fsgid除root.
该文件的用户权限表示所有者用户可以读取它和写入它,但不能执行它。但我认为既然进程有一个fsuidof root,那么文件的用户权限就不适用于该进程,因此进程将能够读写和执行文件,对吗?
现在假设我们有一个进程fsgid,root但有一个fsuid除了 之外的其他用户root。
该文件的组权限表示所有者组可以读取它但不能写入和执行它。现在我认为在这种情况下,进程没有对文件的完全访问权限,只有文件的组权限适用于进程,对吗?