精华帖 (6) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-20
最后修改:2012-11-22
节选自我的博文 Linux/Unix的精巧约定两例:目录权限和文本行数。 如有谬误敬请指正。 目录的执行权限普通文件有执行权限、执行操作,很容易理解,目录执行权限是个啥? 写道
目录的执行权限 是 下面操作的前提:
1. 该目录下的文件(包含子目录)的读、写、执行操作(即目录下文件的全部操作) 2. 该目录本身的写操作 注: 要对目录进行写操作,要同时有该目录的写权限 和 该目录的执行权限。 详见《Unix环境高级编程》第四章第5节“文件访问权限”;中文版第二版在第76页。 多谢kiminotes同学半夜还和我一起验证和确认这个问题,并给我找出了上面资料。
关于上面提到的目录的读、写操作的说明在下一节给出。
举个例子来讲解一下,比如要读文件/home/foo/readme.txt:
上面分析的结果是,要读文件/home/foo/readme.txt需要:
所以只要对自己的Home目录的权限改成700,就可以拒绝他人查看自己Home目录下的文件的内容、在目录下新建或是删除文件。 $ chmod 700 . $ ls -ld . drwx----- 9 foo foo 4.0K 2012-11-20 00:11 ./ 注: ls的-d表示list文件是目录时,不去list目录下文件,而是list目录本身。 目录读、写操作普通文件(非目录)的读、写操作很容易理解。目录的读、写操作说明如下: 写道
目录读操作 = 可以list出目录下有哪些文件
写操作 = 可以在该目录下新建和删除这个目录下的文件(包含新建和删除子目录) 注:要对目录进行写操作,前提要同时有该目录的写权限 和 该目录的执行权限。 讨论目录这些权限的约定,让整个目录(包含下面所有的子文件)的控制变得简单,简单调整这个目录上的执行权限就可以了;信息集中,方便维护。 想想Windows的约定吧,是不是想到那个“应用到所有子目录和文件”的选项,要把所有的子目录都设置一遍。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2391 次