rFa*_*tor 2 unix filesystems permissions
如果我有一个指定为不可读的文件夹。它下的所有文件夹也是不可读的吗?例如,其他帐户无法访问我的共享主机主帐户目录,那么,该主帐户目录下 0777 的所有文件夹和文件是否也无法访问?
目录有两种不同的读取权限。您拥有标准的读取权限,就像处理文件一样。这会阻止您在目录上执行 opendir()/readdir()。这基本上阻止您在目录中执行 ls 。如果您知道子目录的名称,您仍然可以访问它们。您还具有执行权限,在目录的情况下,它会阻止您访问其中的文件。您无法将目录更改为没有执行权限的目录,也无法访问其下的任何内容,但您仍然可以读取内容。
# mkdir -p read/subdirectory
# mkdir -p execute/subdirectory
# chmod o-x execute/
# chmod o-r read
# logout
% ls -ld read/ execute/
drwxr-xr-- 3 root root 4096 2009-10-20 14:43 execute/
drwxr-x--x 3 root root 4096 2009-10-20 14:43 read/
% ls read
ls: cannot open directory read: Permission denied
% ls execute
ls: cannot access execute/subdirectory: Permission denied
subdirectory
% cd read/subdirectory
% cd -
% cd execute/subdirectory
bash: cd: execute/subdirectory: Permission denied
Run Code Online (Sandbox Code Playgroud)
您会注意到ls execute显示错误和子目录。原因是允许 ls 读取执行目录并发现子目录,但 ls 会统计子目录并在那里获得权限被拒绝。
| 归档时间: |
|
| 查看次数: |
1364 次 |
| 最近记录: |