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 4754

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 权限检查流程

用户访问文件
是所有者?
应用User权限
是同组成员?
应用Group权限
应用Other权限

5.2 权限位示意图

权限示例:-rwxr-xr--
分解:
- 文件类型:`-`(普通文件)
- User: rwx(所有者可读、写、执行)
- Group: r-x(组可读、执行)
- Other: r--(其他用户仅可读)

6. 实验练习

  1. 查看权限

    ls -l file.txt

    输出示例:
    -rw-r--r-- 1 alice developers 1024 Jan 1 10:00 file.txt

  2. 修改权限

    chmod 640 file.txt    # 设置权限为rw-r-----
    chown bob:staff file.txt
  3. 验证权限

    su bob                # 切换用户测试
    cat file.txt          # 测试读权限
    echo "test" >> file.txt # 测试写权限

7. 注意事项

  1. 目录权限:必须有x权限才能进入目录。
  2. root用户:不受权限限制(可绕过UGO规则)。
  3. 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