### :-: 权限设置
在 Linux 中,文件或目录权限的控制分别以读取、写入、执行 3 种一般权限来区分,另有 3 种特殊权限可供运用。
使用 ls -l [file] 来查看某文件或目录的信息:
```
$ ls -l /
lrwxrwxrwx 1 root root 512 8月 6 16:23 -> usr/bin
drwxr-xr-x 4 root root 512 4月 17 00:06 boot
-rw-r--r-- 1 root root 18561 4月 17 22:48 desktopfs-pkgs.txt
```
第一栏从第二个字母开始就是权限字符串,权限表示三个为一组,依次是所有者权限、组权限、其他人权限。每组的顺序均为 rwx,如果有相应权限,则表示成相应字母,如果不具有相应权限,则用 - 表示。
• `r`:读取权限,数字代号为 “4”
• `w`:写入权限,数字代号为 “2”
• `x`:执行或切换权限,数字代号为 “1”
通过第一栏的第一个字母可知,第一行是一个链接文件 (l),第二行是个目录(d),第三行是个普通文件(-)。
用户可以使用 chmod 指令去变更文件与目录的权限。权限范围被指定为所有者(u)、所属组(g)、其他人(o)和所有人(a)。
• `-R`:递归处理,将指令目录下的所有文件及子目录一并处理;
• `<权限范围>+<权限设置>`:开启权限范围的文件或目录的该选项权限设置
• 如`$ chmod a+r [file]`:赋予所有用户读取权限
• `<权限范围>-<权限设置>`:关闭权限范围的文件或目录的该选项权限设置
• 如`$ chmod u-w [file]`:取消所有者写入权限
• `<权限范围>=<权限设置>`:指定权限范围的文件或目录的该选项权限设置;
• 如`$ chmod g=x [file]`:指定组权限为可执行
• `$ chmod o=rwx [file]`:制定其他人权限为可读、可写和可执行
![图片来自firmianay](https://s1.ax1x.com/2020/06/25/NBB9wn.png)
图片来自firmianay