Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:
Linux中文件权限的描述方法
实例中,使用ll查看文件列表,在文件列表中,刚开始的十位文件权限描述符就是来描述该文件的权限的。
十位文件描述符包括:
第0位文件描述符: 该描述符描述的是发文件的类型。
1~3位文件描述符:描述的是当前用户所拥有的权限。
4~6位文件描述符:描述的是当前用户所在组中其他用户所拥有的权限。
7~9位文件描述符:描述的是当前用户所在组外其他用户所有拥有的权限。
文件描述符含义
文件类型有以下表示:
-
d 代表目录
-
- 代表文件;
-
l 代表链接文档(link file);
-
b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
-
c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
文件权限有以下表示:
-
r 代表可读(read)。
-
w 代表可写(write)。
-
x 代表可执行(execute)。
更改文件权限
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的read/write/execute 权限。
其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
-
r:4
-
w:2
-
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--- 分数则是:
-
owner = rwx = 4+2+1 = 7
-
group = rwx = 4+2+1 = 7
-
others= --- = 0+0+0 = 0
变更权限可以使用 chmod命令, 语法是这样的:
chmod [-R] xyz 文件或目录
选项与参数:
-
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
修改文件属性有两种方式:
使用文件描述符: chmod u=rwx,o=rw,g=r aaa.txt
#u:当前用户,g:当前用户所在组中其他用户,o:当前用户所在组外其他用户
使用属性的数值:
-
-R : 进行递归(recursive)的持续变更,以及连同此目录下的所有文件都会变更。
使用效果
使用文件描述修饰符:
使用属性值: