目录
SUID, SGID, Sticky
一、权限
r, w, x
user, group, other
二、安全上下文
前提:进程有属主和属组;文件有属主和属组
(1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
(2) 启动为进程之后,其进程的属主为发起者;进程的属组为发起者所属的组
(3) 进程访问文件时的权限,取决于进程的发起者:
①进程的发起者,同文件的属主:则应用文件属主权限
②进程的发起者,属于文件的属组;则应用文件属组权限
③应用文件“其它”权限
三、SUID
(1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
(2) 启动为进程之后,其进程的属主为原程序文件的属主
权限设定:
chmod u+s FILE...
chmod u-s FILE...
四、SGID
(1)默认情况下,用户创建文件时,其属组为此用户所属的基本组
(2)一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组(不再是文件创建者的属组)
权限设定:
chmod g+s DIR...
chmod g-s DIR...
五、Sticky
对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件
权限设定:
chmod o+t DIR...
chmod o-t DIR...
问题:/tmp目录有什么权限,这样设置的目的是什么?
rwxrwxrwt;目的:让用户只能删除自己文件而不能删除别人的临时文件
六、几个权限位映射
SUID SGID STICKY
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
e.g. chmod 4777(s u g o) /tmp/a.txt
SUID:user, 占据属主的执行权限位
s:属主拥有x权限
S:属主没有x权限
SGID:group, 占据group的执行权限位
s:group拥有x权限
S:group没有x权限
Sticky:other, 占据ohter的执行权限位
t:other拥有x权限
T:other没有x权限
参考资料:
马哥随堂笔记
注:诚恳欢迎读者对本文提出批评意见,若发现存在错误,我定第一时间修改。如果读者觉得文章对您有帮助,欢迎点赞鼓励一下哟٩(๑❛ᴗ❛๑)۶。