在Linux中,文件的拥有者可以将文件的属性设置成三种属性,可读(r)、可写(w)和可执行(x).文件又分为三个不同的用户级别,文件的拥有者(u),文件的所属组(g),其他用户(o).
第一个字符显示文件的属性:
1、“-” 普通文件
2、“d” 目录文件
3、“l” 链接文件
4、"b" 块设备
5、"p" 命名管道
6、 "f" 堆栈文件
二、如何改变文件的属性和权限
1、 chgrp :改变文件所属用户组
2、chown: 改变文件所有者
3、chmod: 改变文件的权限。
首先的问题是什么时候需要使用chmod和chgrp呢?最常见的例子就是在复制文件给其他人时,当复制完成后,文件所有者和所属的用户组属性并没有改变,所以就需要改变所有者和所属组。
数字类型改变权限:
r:4
w:2
x:1
每种身份(owner、group、others)各自的三个权限(r、w、x)分数是需要累加的。
例如:[-rwxr-x---]
owner:rwx=4+2+1=7
group:r-x=4+1=5
others: ---=0+0+0=0
改变main.c的权限:
chmod 777 main.c 权限变为[-rwxrwxrwx]
三:目录和文件的权限的区别
目录和文件在读和写的权限的属性是相同的,然而执行的权限的意思确实不同的。
目录的执行权限有什么作用呢?目录是记录文件名而已,总不能拿来执行吧?没错,目录不可以被执行。目录的执行(x)代表的是用户能否进入该目录成为工作目录。
有个目录的权限如下:
drwxr--r-- 3 root root Jun 25 08:35 .ssh
系统有个帐号是duanqian ,这个帐号没有支持root组,duanqian对此目录只有读的权限,可以查询此目录下的文件列表。因为duanqian不具有x权限,所以并不能切换入此目录内。