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
权限。