Answers:
由于您无法“执行”目录,因此已更好地使用了执行位。目录中的execute位使您可以访问目录中的项目,即使您无法列出目录内容。
$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!
从chmod
联机帮助页:
字母rwxXst为受影响的用户选择文件模式位:读(r),写(w),执行(或搜索目录)(x),仅当文件是目录或已经对某些文件具有执行权限时才执行/搜索用户(X),执行时设置用户或组ID,受限删除标志或粘性位(t)。
目录(在* nix中通常不称为文件夹)对权限位的含义与普通文件不同。
对于目录,写允许在其中创建新文件。
读取允许您列出其中的文件。
Execute允许您输入它并访问其中的文件(或其他目录)。
对目录的执行权限允许您遍历该目录,以使用其中包含的资源。
当应用于目录(来自man chmod
)时,“执行”位实际上表示“搜索” 。这似乎是合理的,因为execute对目录没有意义。
cd
)时,输入(执行)它。