This commit is contained in:
2025-09-03 09:53:07 +08:00
parent 52dc69a2a5
commit 9fd3f34501

View File

@@ -1,7 +1,43 @@
| g | r | w | x | |
| ---- | ---- | ---- | ---- | ------ |
| | r | w | x | |
| -------- | ---- | ---- | ---- | ------ |
| u | 4 | 2 | 1 | 7(rwx) |
| g | 4 | 2 | 1 | 7(rwx) |
| o | 4 | 2 | 1 | 7(rwx) |
| | | | | |
| 特殊权限 | 4 | 2 | 1 | 7(SST) |
### SUIDSet User ID
- **作用**:当一个可执行文件设置了 SUID 权限,用户执行该文件时,会临时获得文件所有者的权限。
- **典型应用**`passwd` 命令,普通用户执行它时能临时获得 root 权限来修改密码。
- **设置方法**`chmod u+s 文件名`(字母方式)或 `chmod 4755 文件名`数字方式4 代表 SUID
- **取消方法**`chmod u-s 文件名`
### SGIDSet Group ID
- **作用**
- 对文件:执行文件时临时获得文件所属组的权限
- 对目录:在该目录下创建的新文件会继承目录的所属组
- **典型应用**:用于团队共享目录,确保新创建的文件能被团队所有成员访问
- **设置方法**`chmod g+s 文件名/目录名``chmod 2755 文件名/目录名`2 代表 SGID
- **取消方法**`chmod g-s 文件名/目录名`
### Sticky粘滞位
- **作用**:只对目录有效,设置后,只有文件所有者、目录所有者或 root 才能删除该目录下的文件
- **典型应用**`/tmp` 目录,允许所有用户创建文件,但不能删除他人文件
- **设置方法**`chmod o+t 目录名``chmod 1777 目录名`1 代表 Sticky
- **取消方法**`chmod o-t 目录名`
### 权限表示
`ls -l` 输出中:
- SUID 显示为 `s`(替代所有者执行权限 `x`),若无执行权限则显示 `S`
- SGID 显示为 `s`(替代组执行权限 `x`),若无执行权限则显示 `S`
- Sticky 显示为 `t`(替代其他用户执行权限 `x`),若无执行权限则显示 `T`
例如:`-rwsr-xr-x` 表示文件设置了 SUID`drwxr-sr-x` 表示目录设置了 SGID`drwxrwxrwt` 表示目录设置了 Sticky 位。