Linux 的文件权限
Linux 操作系统中对权限的管理很严格。Linux 系统中不仅是对用户与组根据 UID,GID 进行了管理,还对 Linux 系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式和目录进行访问和操作。
权限共有 10 个字符,我们将它分为 4 大部分来理解:
表示文件的类型
- | 表示是一个文件 |
|---|---|
d | 表示是一个目录 |
l | 表示是一个连接(理解为快捷方式) |
用户组类型
| 缩写 | 用户组 | 类型 |
|---|---|---|
u | owner | 属主 :当前用户具有的对该文件的权限 |
g | group | 当前组内其他用户具有对该文件的权限 |
o | other | 其他组的用户具有的对该文件的权限 |
权限
r:Read读w:Write写x:execute执行
针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)
针对文件和目录来说,r,w,x 有着不同的作用和含义
| 命令 | 针对文件 | 针对目录 |
|---|---|---|
r | 读取文件内容 | 查看目录下的文件列表 |
w | 修改文件内容 | 删除和创建目录下的文件 |
x | 执行权限对除二进制程序以外的文件没什么意义 | 可以 cd 进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限) |
提示
root 账户不受文件权限的读写限制,执行权限受限制
| 权限项 | 文件类型 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 |
| 字符表示 | (d|l|c|s|p) | (r) | (w) | (x) | (r) | (w) | (x) | (r) | (w) |
| 数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | |
| 权限分配 | 文件所有者 | 文件所属组用户 | 其他用户 |
用户获取文件权限的顺序:先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。
修改文件权限
chown 是 change owner 的意思,主要作用就是改变文件或者目录所有者。
chmod | 修改文件和文件夹读写执行属性。使用权限:所有使用者 |
|---|---|
chown | 修改文件和文件夹的用户和用户组属性。使用权限:root |
mode 方式
bash
chmod who opt per filewho | u g o a(all) (u 用户 user,g 用户组 group,o 其他用户,a 所有用户默认) |
|---|---|
opt | + 添加某个权限 - 取消某个权限 = 赋予权限 |
per | r w x X |
示例:
bash
chmod u=rwx,g=r a.txt
chmod u+x,g+w,o+w test.log #r 读,w 写, x 执行数字方式
语法:chmod xxx file
rwx | 421 | 7 |
|---|---|---|
rw- | 420 | 6 |
r-- | 400 | 4 |
0表示无权限,1表示可执行x,2表示写入权限w,4表示可读权限r
例如:
bash
-rwxr--r-- 1 root root 10 oct 16 02:55 yhp.log| 权限 | 参数 | 参数 | 参数 |
|---|---|---|---|
| 用户权限 | rwx | 4+2+1 | 7 |
| 所属组权限 | r-- | 4+0+0 | 4 |
| 其他用户权限 | r-- | 4+0+0 | 4 |
组合:744
修改权限:
- 都加入写入权限 +2
- 给用户组加入写入权限:+2
- 给其他用户加入可执行权限:+1
组合:765
bash
chmod 765 a.txt




