字符1-9位代表的权限:
1-3位 | 属主权限 |
1 | 属主权限的读 |
2 | 属主权限的写 |
3 | 属主权限的执行 |
4-6位 | 属组权限 |
4 | 属组权限的读 |
5 | 属组权限的写 |
6 | 属组权限的执行 |
7-9位 | 组外权限 |
7 | 组外权限的读 |
8 | 组外权限的写 |
9 | 组外权限的执行 |
比如:
rwxr-xr–
- 第一组(1-3位):rwx(属主权限,读取、写入、执行)
- 第二组(4-6位):r-x(属组权限,读取、执行)
- 第三组(7-9位):r–(组外权限,仅读取)
这表示文件所有者具有读取、写入、执行权限,同组用户具有读取、执行权限,其他用户仅具有读取权限。
rw-r–r–
- 第一组(1-3位):rw-(属主权限,读取、写入)
- 第二组(4-6位):r–(属组权限,仅读取)
- 第三组(7-9位):r–(组外权限,仅读取)
这表示文件所有者具有读取、写入权限,同组用户和其他用户仅具有读取权限。
2、数字表示法
数字表示法由三个数字组成,共3位。三位数字是由九个字母三个一组代表的数值计算而来。
- 数字4对应r,数字2对应w,数字1对应x。
以777为例:777 的字符表示是 rwxrwxrwx ,即7(rwx)7(rwx)7(rwx)。
所以,要理解数字表示权限的含义,我们需要将其转换为原有的由rwx-组合的字符形式。
换算成数字时,r记为4,w记为2,x记为1,-表示无权限记为0。
通过4、2、1的组合,得到以下几种权限:
- 0(没有权限)
- 4(读取权限)
- 5(4+1 | 读取+执行)
- 6(4+2 | 读取+写入)
- 7(4+2+1 | 读取+写入+执行)
rwx=4+2+1=7,三个rwx连在一起就是777。
因此,mkdir -m 777 temp 这个常见的命令是去创建一个具有基本读写权限的名为temp的文件夹,这里的777是权限的最高设置,表示属组/主以及组外用户的读写权限都完全开放。
比如:
755
对应字符表示:rwxr-xr-x
各组权限解释:
- 第一组(1-3位):rwx(属主权限,读取、写入、执行)
- 第二组(4-6位):r-x(属组权限,读取、执行)
- 第三组(7-9位):r-x(组外权限,读取、执行)
这表示文件所有者具有读取、写入、执行权限,同组用户和其他用户仅具有读取、执行权限。
644
对应字符表示:rw-r–r–
各组权限解释:
- 第一组(1-3位):rw-(属主权限,读取、写入)
- 第二组(4-6位):r–(属组权限,仅读取)
- 第三组(7-9位):r–(组外权限,仅读取)
这表示文件所有者具有读取、写入权限,同组用户和其他用户仅具有读取权限。
600
对应字符表示:rw-------
各组权限解释:
- 第一组(1-3位):rw-(属主权限,读取、写入)
- 第二组(4-6位):—(属组权限,无权限)
- 第三组(7-9位):—(组外权限,无权限)
这表示文件所有者具有读取、写入权限,而同组用户和其他用户没有任何权限。
二、文件权限的换算
通过上面两种表示方法的介绍,我们已经知道了文件权限的表示,相比起数字表示,字母表示更加的直观和有说明意义,下面我们总结将数字文件权限换算成文字描述的步骤方法。
两步走:
- Step1: 数字转换成字符
- Step2: 划分三段讲权限
以 754 为例:
① 先换算成字符:
754 = rwxr-xr–
② 再把字符划分为前中后三段,分别指出权限:
- 第一段(1-3位)是rwx,表示所有者具有读取、写入、执行权限;
- 第二段(4-6位)是r-x,表示同组用户具有读取、执行权限,但没有写入权限;
- 第三段(7-9位)是r-x,表示其他组外用户具有读取权限,但没有写入权限、执行权限。
③ 得到最终的权限描述:
- 所有者具有读取、写入、执行权限。
- 同组用户具有读取、执行权限,但没有写入权限。
- 组外用户具有读取权限,但没有写入权限、执行权限。
三、常见文件权限
在Linux系统中,文件权限对于系统的安全和访问控制至关重要。以下是一些常见的文件权限设置,每个数字代表着不同的文件访问级别和控制。