Linux 权限
本文将介绍 Linux 的权限设置。
一、权限的重要性
服务器与个人电脑相比:
存储的数据及和运行的应用有重要、高价值的特点
访问人员较多,且不同人员具有不同的职责
不同项目的成员,可能需要访问同一个服务器;
同一个项目的不同成员(包括运维人员、SQL 程序员、后端程序员、前端程序员等),都有可能需要访问同一个服务器。
因此,我们希望系统的权限管理功能足够强大,以便我们能够根据不同的工作需要和职位需要,合理分配用户权限。
二、说明
- Linux 系统是一种多用户系统
- “一切都是文件”,因此,权限也是以 文件权限 的形式体现的
- 每个文件都有一个特定的拥有者,并拥有一个特定的拥有组
- Linux 系统中,每一个文件都会按其属主、属组划分访问它的用户的身份
- 根据身份的不同,用户对文件的访问权限也不同
三、查看权限及所属
可以通过 ls -l
或 ll
查看当前目录下所有文件的详细信息。
1. 文件类型
每一行的第一个字符表示文件类型,其中:
- d:目录
- -:文件
- l:链接
- b:存储设备
- c:鼠标、键盘等设备
2. 权限信息
紧随”文件类型”之后的9个字符表示文件的权限信息,其中:
- 权限信息共分为三个部分,分别对应不同身份的用户:
- 属主权限
- 属组权限
- 其它用户权限
- 在 Linux 中,需要对不同身份的用户的权限做分别配置
- 具体到每个部分中,第一位表示读取权限,第二位表示写入权限,第三位表示执行权限。各权限位置固定,出现字母表示拥有对应权限,否则用 “-“ 占位
3. 硬链接数量
略
4. 所属信息
其中,第一个部分为文件的所属用户,第二个部分表示文件的所属组。
5. 其它信息
- 文件大小
- 最后访问时间
- 文件名
四、修改所属
1. chgrp
“chgrp - change group”
该命令用于修改文件的所属组。
1 |
|
- -R:可选项,表示同时作用于文件其下的所有子文件
2. chown
“chown - change owner”
该命令用于修改文件的所有者。
1 |
|
- -R:可选项,表示同时作用于文件其下的所有子文件
- :所属组:可选项,表示同时修改所属组
五、修改权限
1. chmod 使用字母修改权限
1 |
|
其中,
- -R:可选项,表示同时作用于文件其下的所有子文件
- 身份标识:使用字母代表不同身份的用户
- u:属主
- g:属组
- o:其它用户
- a:所有用户
- 操作符:可以设为
+ - =
,分别表示新增、删除、设置 - 权限字符串:
[r][w][x]
设置 test1 文件,使属主和属组拥有读写执行、其它用户没有任何权限:
1chmod u=rwx,g=rwx,o-rwx test1
设置 test2 文件,去除所有用户的可执行权限:
1chmod a-x test2
2. chmod 使用数字修改权限
为简化权限修改操作,可以用数字代表权限:
- r、w、x 分别用数字 4、2、1 表示
- 通过数字的特殊设置,不同权限组合对应的数字总和一定是不同的,因此可以用数字总和唯一地代表权限
1 |
|
- -R:可选项,表示同时作用于文件其下的所有子文件
- 为简化权限修改操作,用数字代表权限:
- r、w、x 分别用数字 4、2、1 表示
- 通过数字的特殊设置,不同权限组合对应的数字总和一定是不同的,因此可以用数字总和唯一地代表权限
- 将属主权限、属组权限、其它用户权限依次排列,即可代表文件的所有权限
设置 test1 文件,使属主和属组拥有读写执行、其它用户没有任何权限:
1chmod 770 test1