读书人

你不知道的Linux/Unix上目录权限的含义

发布时间: 2012-11-23 00:03:43 作者: rapoo

你不知道的Linux/Unix下目录权限的含义

节选自我的博文 Linux/Unix的精巧约定两例:目录权限和文本行数。

如有谬误敬请指正。

目录的执行权限

普通文件有执行权限、执行操作,很容易理解,目录执行权限是个啥?

$ chmod 700 .$ ls -ld .drwx----- 9 foo foo 4.0K 2012-11-20 00:11 ./

注: ls的-d表示list文件是目录时,不去list目录下文件,而是list目录本身。

目录读、写操作

普通文件(非目录)的读、写操作很容易理解。目录的读、写操作说明如下:

?写道目录读操作 = 可以list出目录下有哪些文件
写操作 = 可以在该目录下新建和删除这个目录下的文件(包含新建和删除子目录)
? ? ? 注:要对目录进行写操作,前提要同时有该目录的写权限 和 该目录的执行权限。

?
所以,为了删除一个现有的文件,必须对包含该文件的目录具有写权限和执行权限;对该文件本身不需要有读、写权限。

讨论

目录这些权限的约定,让整个目录(包含下面所有的子文件)的控制变得简单,简单调整这个目录上的执行权限就可以了;信息集中,方便维护。

想想Windows的约定吧,是不是想到那个“应用到所有子目录和文件”的选项,要把所有的子目录都设置一遍。

读书人网 >UNIXLINUX

热点推荐