声明:以下内容均学习自《Linux就该这么学》一书
1、文件权限及归属
对目录文件来说,"可读"表示能够读取目录内的文件列表;"可写"表示能够在目录内新增、删除、重命名文件;"可执行"表示能够进入该目录。
|-------|--------|
| - | 普通文件 |
| d | 目录文件 |
| l | 链接文件 |
| b | 块设备文件 |
| c | 字符设备文件 |
| p | 管道文件 |
[文件类型区分]
|------|---|---|----|---|---|----|---|---|----|
| 权限分配 | 文件所有者 ||| 文件所属组 ||| 其他用户 |||
| 权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
| 字符表示 | r | w | x | r | w | x | r | w | x |
| 数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
[文件权限字符与数字表示]
chmod
用来设置文件或目录的权限:chmod [参数] 权限 文件或目录名称
例如,把一个目录的权限设置成其所有者可读可写可执行、所属组可读可写、其他人没有任何权限:chmod 760 /home/ln
chown
用来设置文件或目录的所有者和所属组:chown [参数] 所有者:所属组 文件或目录名称
这两者在针对目录进行操作时需要加上大写的**-R**参数来表示递归操作,即对目录内所有文件进行整体操作。
如:chmod -R 760 /home/ln;/home/ln目录下的所有文件都具有同样的权限。
2、文件的特殊权限
SUID
是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。
SGID
让执行者临时拥有属主的权限(对拥有执行权限的二进制程序进行设置)
在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)
SBIT
Sticky Bit:特殊权限位之粘滞位。
用于确保用户只能删除自己的文件,而不能删除其他用户的文件。
当目录被设置SBIT特殊权限位后,文件的"其他人 "权限部分的x执行权限就会被替换成 t或 T ,如果原本有x执行权限则会写成 t,否则,写成 T。
要是想对其他目录设置SBIT特殊权限位,可以使用chmod命令加 o+t参数。
如:chmod -R o+t /home/ln