一、权限
权限是操作系统用来限制资源访问的机制,权限一般分为读、写、执行。
系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。
每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限越大,该进程所拥有的权限也就越大。
二、文件权限
Linux 中,每个文件拥有以下三种权限:
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
r(读取) | 可读取文件内容 | 可列出目录内容 |
w(写入) | 可以修改文件内容 | 可在目录创建、删除文件 |
x(执行) | 可以作为命令执行 | 可进入目录 |
所以,目录必须拥有 x
权限才可查看其内容。很多时候,执行权限 x
对于目录而言也叫浏览权限。仅有 r
权限是无法查看目录内容的(因为连访问都做不到)。
Linux 权限基于 UGO 模型进行控制:
- U 代表 User,是文件或文件夹所属用户的权限;G 代表 Group,是文件或文件夹所属组的权限;O 代表 Other,是其他用户对文件或文件夹的权限
- 每一个文件的权限基于 UGO 模型进行设置
- 权限三个一组(rwx),对应 UGO 分别设置(总共有 3 个组 9 个权限)
- 每一个文件拥有一个所属用户和所属组,对应 U、G模型;不属于该文件所属用户和所属组的使用 O(Other)模型对应的权限
命令 ll
可以查看当前目录下所有文件的详细信息:
1 | -rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc |
三、修改权限
命令chmod
用以修改文件的权限:
1 | chmod mode filename |
mode
参数格式如下:
1 | u、g、o 分别代表用户、组、其他 |
1 | chmod u +rw test.md 给文件的所属用户添加rw权限 |
命令chmod
也支持以三位八进制数值的方式修改权限,rwx
权限值分别由数字表示如下:
1 | r = 4 (2 ^ 2) |