Linux目录权限

来源:互联网 发布:桐乡淘宝美工 编辑:程序博客网 时间:2024/06/05 18:44

在Linux文件系统模型中,每个文件都有一组9个权限位(rwxrwxrwx)用来控制谁能够读写和执行该文件的内容。普通文件大家都了解,这里说说目录的情况。

r : 读权限,浏览目录下文件及子目录的权限

w : 写权限,增加、更新、删除目录内文件的权限

x : 执行权限,进入目录的权限

对于目录来说,x执行位的作用是控制能否进入或者通过该目录,而不是控制能否列出它的内容。r读取位和x执行位的组合的作用才是控制是否列出目录中的内容。w写入位和x执行位的组合则是允许在目录中创建,删除,修改和重命名文件。

linux系统创建一个新目录

[tu11@kvm98036 ~]$ mkdir test[tu11@kvm98036 ~]$ ll总用量 4drwxrwxr-x 2 tu11 tu11 4096 110 14:45 test[tu11@kvm98036 ~]$ cd test/[tu11@kvm98036 test]$ 

权限信息中有10个字符,第一个是标记不同类型
第1位:d表示是目录;- 表示文件;字母l 表示链接
第2~4权限位:文件所有者的权限
第5~7权限位:与文件所有者同一组的用户的权限
第8~10权限位:不与文件所有者同组的其他用户的权限

新目录默认是都有x的权限,也就是任何用户都可进入目录。

尝试把所有者的x权限去掉,看看还能进入目录吗?

[tu11@kvm98036 ~]$ chmod u-x test/[tu11@kvm98036 ~]$ cd test/-bash: cd: test/: Permission denied[tu11@kvm98036 ~]$ ll总用量 4drw-rwxr-x 2 tu11 tu11 4096 110 14:45 test[tu11@kvm98036 ~]$ ll test/ls: cannot access test/old.file: Permission deniedtotal 0-????????? ? ? ? ?            ? old.file[tu11@kvm98036 ~]$ touch test/atouch: cannot touch 'test/a': Permission denied[tu11@kvm98036 ~]$

rwx变成rw-之后没有了x执行权限,所有者tu11也无法进入目录,无法在目录里创建文件(在目录里创建文件也需要透过目录),也无法查看目录中的内容。
如果要对目录中的内容进行读r/写w,必须和x执行权限配合使用。

总结下,给目录赋权限,需要和x配合使用
想读取目录内的内容:rx
想更新目录内的内容:wx

0 0