Linux系统中,我们常常使用命令行来对文件进行操作,mkdir 是创建一个文件夹目录的命令,而 mkdir -m 777 temp 命令则是去创建一个具有最高读写权限的名为temp的文件夹,这里的777是权限的描述。本篇文章将讲解一下这里777的含义,并总结流程性的换算方法。
1、777为例的文件权限含义
Linux文件权限由r、w、x、-四个字符组成,一共9位,可以简化为三位数字,这里的777是简化过的版本。所以,要搞懂权限数字的含义,我们就需要把数字转换成原初的字母形式。
先说下结论,777 的字符表示是 rwxrwxrwx ,我们可以根据下面的讲解反向换算得出。
rwx-分别表示:
r | 具有读取权限 |
w | 具有写入权限 |
x | 具有执行权限 |
– | 不具有此权限 |
字符1-9位代表的权限:
1-3位 | 属主权限 |
1 | 属主权限的读 |
2 | 属主权限的写 |
3 | 属主权限的执行 |
4-6位 | 属组权限 |
4 | 属组权限的读 |
5 | 属组权限的写 |
6 | 属组权限的执行 |
7-9位 | 组外权限 |
7 | 组外权限的读 |
8 | 组外权限的写 |
9 | 组外权限的执行 |
换算成数字时,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是权限的最高设置,表示属组/主以及组外用户的读写权限都完全开放。
2、文件权限换算流程总结
- Step1: 数字转换成字符
- Step2: 划分三段讲权限
再拿754为例:
①先换算成字符:
754 = rwxr-xr–
②再把字符划分为前中后三段,分别指出权限:
第一段(1-3位)是rwx,表示所有者具有读取、写入、执行权限;
第二段(4-6位)是r-x,表示同组用户具有读取、执行权限,但没有写入权限;
第三段(7-9位)是r-x,表示其他组外用户具有读取权限,但没有写入权限、执行权限。
3、常见文件权限
777是最高权限,除此之外常用的linux文件权限还有:
444 r–r–r–
600 rw——-
644 rw-r–r–
666 rw-rw-rw-
700 rwx——
744 rwxr–r–
755 rwxr-xr-x
777 rwxrwxrwx
Damon, Chinese, Liu Guangzhi, Software development engineer, CSDN quality creator, Ali Cloud expert blogger, Microsoft Technology Associate, Good at C#, Java, PHP, Python, etc, Love sports, Workaholic, Communist.