chmod (change mode) 是 Linux 系统中用于修改文件或目录权限的核心命令。它通过精细的访问控制,确保只有授权的用户才能读取、写入或执行文件,是系统安全的基础。
简单来说,文件的权限由三类用户 和三种操作构成,chmod命令通过数字模式 或符号模式这两种方式来设定它们。
📖 权限基础:读、写、执行
每个文件或目录都关联着三类用户,并为他们各自定义了三种基本权限:
| 用户类别 | 代号 | 权限类型 | 数字代号 | 对文件 (File) 的作用 | 对目录 (Directory) 的作用 |
|---|---|---|---|---|---|
| 所有者 (User) | u | 读 (Read) | 4 (r) | 查看文件内容 | 列出目录内容 (如 ls) |
| 所属组 (Group) | g | 写 (Write) | 2 (w) | 修改文件内容 | 在目录内创建/删除文件 |
| 其他用户 (Others) | o | 执行 (Execute) | 1 (x) | 作为程序运行 | 进入目录 (如 cd) |
使用 ls -l 命令可以查看文件的详细权限。例如,-rwxr-xr-- 这串字符就清晰地展示了权限信息:
- 第一个字符 - 代表文件类型 (d 表示目录) 。
- 接下来的9个字符每3个为一组,分别对应所有者 (rwx)、所属组 (r-x)、其他用户 (r--) 的权限。
🔢 数字模式:简洁直接
数字模式通过3位或4位八进制数来精确设定权限,适合批量操作,更为高效。
计算公式 :权限值 = 4 (r) + 2 (w) + 1 (x)
| 数值 | 权限组合 | 符号表示 |
|---|---|---|
| 7 | 读+写+执行 | rwx |
| 6 | 读+写 | rw- |
| 5 | 读+执行 | r-x |
| 4 | 只读 | r-- |
| 3 | 写+执行 | -wx |
| 2 | 只写 | -w- |
| 1 | 只执行 | --x |
| 0 | 无权限 | --- |
基本用法 :chmod [选项] [权限值] 文件名
例如,chmod 754 script.sh 的含义是:
- 所有者:7 (rwx, 4+2+1)
- 所属组:5 (r-x, 4+0+1)
- 其他用户:4 (r--, 4+0+0)