之前对文件和目录的指令与权限有误解(特别是目录这一块),在本文进行记录。
让使用者能进入某目录成为“可工作目录”的基本权限
-
可使用的指令:例如
cd
等变换工作目录的指令。 -
目录所需权限:使用者对这个目录至少需要具有
x
的权限。 -
额外需求:如果使用者想要在这个目录内利用
ls
查阅文件名,则使用者对此目录还需要r
的权限。
让使用者在某个目录内读取一个文件的基本权限
-
可使用的指令:例如
cat
,more
,less
等等 。 -
目录所需权限:使用者对这个目录至少需要具有
x
权限。 -
文件所需权限:使用者对文件至少需要具有
r
的权限。
让使用者可以修改一个文件的基本权限
- 可使用的指令:例如
nano
或vi
(vim
) 编辑器等。 - 目录所需权限:使用者在该文件所在的目录至少要有
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
,各相关文件/目录的权限如下: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 就可以实现读取。