# 6.6 极重要的复习-权限与指令间的关系

我们知道权限对于使用者帐号来说是非常重要的，因为他可以限制使用者能不能读取/创建/删除/修改文件或目录！ 在这一章我们介绍了很多文件系统的管理指令，第五章则介绍了很多文件权限的意义。在这个小节当中， 我们就将这两者结合起来，说明一下什么指令在什么样的权限下才能够运行吧！^\_^

一、让使用者能进入某目录成为“可工作目录”的基本权限为何：

* 可使用的指令：例如 cd 等变换工作目录的指令；
* 目录所需权限：使用者对这个目录至少需要具有 x 的权限
* 额外需求：如果使用者想要在这个目录内利用 ls 查阅文件名，则使用者对此目录还需要 r 的权限。

二、使用者在某个目录内读取一个文件的基本权限为何？

* 可使用的指令：例如本章谈到的 cat, more, less等等
* 目录所需权限：使用者对这个目录至少需要具有 x 权限；
* 文件所需权限：使用者对文件至少需要具有 r 的权限才行！

三、让使用者可以修改一个文件的基本权限为何？

* 可使用的指令：例如 \[nano] 或未来要介绍的 \[vi] 编辑器等；
* 目录所需权限：使用者在该文件所在的目录至少要有 x 权限；
* 文件所需权限：使用者对该文件至少要有 r, w 权限

四、让一个使用者可以创建一个文件的基本权限为何？

* 目录所需权限：使用者在该目录要具有 w,x 的权限，重点在 w 啦！

五、让使用者进入某目录并执行该目录下的某个指令之基本权限为何？

* 目录所需权限：使用者在该目录至少要有 x 的权限；
* 文件所需权限：使用者在该文件至少需要有 x 的权限

例题：让一个使用者 dmtsai 能够进行“cp /dir1/file1 /dir2”的指令时，请说明 dir1, file1, dir2 的最小所需权限为何？答：执行 cp 时， dmtsai 要“能够读取来源文件，并且写入目标文件！”所以应参考上述第二点与第四点的说明！ 因此各文件/目录的最小权限应该是：

* dir1 ：至少需要有 x 权限；
* file1：至少需要有 r 权限；
* dir2 ：至少需要有 w, x 权限。

例题：有一个文件全名为 /home/student/www/index.html ，各相关文件/目录的权限如下：

```shell
drwxr-xr-x 23 root    root    4096 Sep 22 12:09 /
drwxr-xr-x  6 root    root    4096 Sep 29 02:21 /home
drwx------  6 student student 4096 Sep 29 02:23 /home/student
drwxr-xr-x  6 student student 4096 Sep 29 02:24 /home/student/www
-rwxr--r--  6 student student  369 Sep 29 02:27 /home/student/www/index.html
```

请问 vbird 这个帐号（不属于student群组）能否读取 index.html 这个文件呢？答：虽然 www 与 index.html 是可以让 vbird 读取的权限，但是因为目录结构是由根目录一层一层读取的， 因此 vbird 可进入 /home 但是却不可进入 /home/student/ ，既然连进入 /home/student 都不许了， 当然就读不到 index.html 了！所以答案是“vbird不会读取到 index.html 的内容”喔！

那要如何修改权限呢？其实只要将 /home/student 的权限修改为最小 711 ，或者直接给予 755 就可以啰！ 这可是很重要的概念喔！
