Linux文件权限UGO模型详细教案
1. UGO权限模型概述
Linux文件权限基于UGO(User/Group/Other)模型,通过权限位控制不同用户对文件的访问权限。
1.1 权限分类
缩写 | 全称 | 说明 |
---|---|---|
U | User/Owner | 文件所有者(创建者或chown 修改后的用户) |
G | Group | 文件所属用户组(同组用户共享权限) |
O | Other | 其他所有用户 |
1.2 权限类型
权限 | 符号 | 数字 | 对文件的影响 | 对目录的影响 |
---|---|---|---|---|
读 | r |
4 | 查看文件内容 | 列出目录内容(如ls ) |
写 | w |
2 | 修改文件内容 | 创建/删除文件 |
执行 | x |
1 | 运行可执行文件 | 进入目录(如cd ) |
2. 权限表示方法
2.1 符号表示(rwx)
权限分为三组,顺序固定为 User → Group → Other,例如:-rwxr-xr--
- 第1位:
-
表示普通文件(d
表示目录) - 2-4位:所有者权限(
rwx
) - 5-7位:组权限(
r-x
) - 8-10位:其他用户权限(
r--
)
2.2 数字表示(八进制)
将每组权限转换为数字相加:
r
=4,w
=2,x
=1- 例如:
rwxr-xr--
=7 5 4
→754
3. 权限管理命令
3.1 chmod
:修改权限
符号模式
chmod u+rwx file # 给所有者添加rwx权限
chmod g-w file # 移除组的写权限
chmod o=rx file # 设置其他用户权限为r-x
数字模式
chmod 755 file # rwxr-xr-x
chmod 644 dir # rw-r--r--
3.2 chown
:修改所有者
chown user:group file # 同时修改所有者和组
chown alice file # 仅修改所有者
chown :developers file # 仅修改组
3.3 chgrp
:修改所属组
chgrp developers file # 将文件组改为developers
4. 权限设置示例
4.1 常见场景
场景 | 符号权限 | 数字权限 | 命令示例 |
---|---|---|---|
可执行脚本 | rwxr-xr-x |
755 |
chmod 755 script.sh |
私有文件 | rw------- |
600 |
chmod 600 secret.txt |
共享目录 | rwxrwxr-x |
775 |
chmod 775 /shared |
4.2 递归修改目录权限
chmod -R 755 /project # 递归修改目录及子文件
chown -R alice:dev /project
5. 权限流程图解
5.1 权限检查流程
5.2 权限位示意图
权限示例:-rwxr-xr--
分解:
- 文件类型:`-`(普通文件)
- User: rwx(所有者可读、写、执行)
- Group: r-x(组可读、执行)
- Other: r--(其他用户仅可读)
6. 实验练习
查看权限
ls -l file.txt
输出示例:
-rw-r--r-- 1 alice developers 1024 Jan 1 10:00 file.txt
修改权限
chmod 640 file.txt # 设置权限为rw-r----- chown bob:staff file.txt
验证权限
su bob # 切换用户测试 cat file.txt # 测试读权限 echo "test" >> file.txt # 测试写权限
7. 注意事项
- 目录权限:必须有
x
权限才能进入目录。 - root用户:不受权限限制(可绕过UGO规则)。
- umask:默认权限掩码(如
umask 022
会使得新建文件权限为644
)。
附:快速参考表
| 命令 | 作用 | 示例 |
|——|——|——|
| chmod
| 改权限 | chmod 755 file
|
| chown
| 改所有者 | chown user:group file
|
| chgrp
| 改组 | chgrp dev file
|
| ls -l
| 查看权限 | ls -l /path
|
通过本教案,您应能掌握Linux UGO权限模型的核心操作!
作者:admin 创建时间:2025-05-29 09:39
最后编辑:admin 更新时间:2025-05-29 13:26
最后编辑:admin 更新时间:2025-05-29 13:26