Linux 文件属性第2至10位的标志,分为三组,标识文件访问权限:- r w x s S t T。
第11位的标志,标识文件安全(SELinux、ACL等)权限:. +。
1. 访问权限分组
访问权限共9位,每3位一组。
第一组表示所有者的权限,第二组表示所属组的权限,第三组表示其他人权限。
2. 访问权限状态
2.1. 无权限
- 表示无对应权限。
2.2. 第一位
r read
可读,八进制权限数 4。
2.3. 第二位
w write
对于文件表示可写,对于目录表示可新建,八进制权限数 2。
2.4. 第三位
x execute
对于文件表示可执行,对于目录表示可进入目录,八进制权限数 1。
s S setuid setgids 小写表示该位同时有x权限;S 大写表示该位没有x权限。
在第一组中,表示普通用户会以文件所有者身份运行命令,八进制权限数 4;
在第二组中,表示普通用户会以文件所属组身份运行命令,八进制权限数 2。
因为任何用户运行此类权限命令或程序时相当于直接获取到权限,所以应注意安全风险。
t T stickyt 小写表示该位同时有x权限;T 大写表示该位没有x权限。
仅在第三组中,表示其他用户能添加文件但同时不能删除文件,即使用户拥有 w 写权限,八进制权限数 1。
3. 访问权限八进制表示
以4位八进制数表示,其中 setuid setgid sticky 位,八进制数相加,为0时可以省略。例如:7644 表示 rwSr-Sr-T;7777 表示 rwsrwsrwt;7000 表示 --S--S--T;0000 表示 ---------。
以3位八进制数表示访问权限,八进制数相加,并依次表示各组。例如:644 表示 rw-r--r--;777 表示 rwxrwxrwx;000 表示 ---------。
4. 文件属性第11位
.
表示附加了 SELinux 权限。
+
表示附加了 ACL 权限。