Linux 文件权限管理详解
1. 特殊权限设置
当使用chmod命令搭配数字时,是在明确设置文件或目录的权限。原有的权限会被清除,新定义的权限将被应用,因此操作时需格外谨慎。
特殊权限的设置可以通过符号方式,也可以在使用数字时添加第四位数字,这个数字位于设置常规权限的三位数字之前。
1.1 SUID 和 SGID
设置用户 ID(SUID)或设置组 ID(SGID)是两种特殊权限。在文件执行时,这些权限会将用户的 ID 更改为设置权限时指定的参数对应的 ID。这种权限以s表示,它会替代权限位中的x。
例如,有一个文件MyFile,其权限块为-rwxr-xr-x,执行命令chmod o+s MyScript后,任何人执行MyScript文件时都将拥有与文件所有者相同的权限。此时查看MyScript的权限块,会变为-rwsr-xr-x。同样的操作也可用数字方式实现,如chmod 4755。
| 数字 | 含义 |
| ---- | ---- |
| 4 | 执行程序时设置用户 ID |
| 2 | 执行程序时设置组 ID |
| 1 | 粘滞位 |
若要让执行脚本的用户继承组的权限而非所有者的权限,可以使用以下命令: