安全上下文:
前提:进程有属主和属组,文件有属主和属组。
- 任何一个可执行文件能不能启动为进程,取决于发起者对程序文件是否有可执行权限。
- 启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组。
- 进程访问文件时的权限,取决于进程的发起者。
(1) 进程的发起者,同文件的属主,则应用文件属主权限。
(2) 进程的发起者,同文件的属组,则应用文件的属组权限。
(3) 应用文件的其他权限。
SUID:
打破了安全上下文的概念,有风险。
- 任何一个文件能不能运行,取决于是否有x权限。
- 当进程文件运行以后,进程的属主不是发起者,而是文件的属主。
给一个文件增加SUID:
chmod u+s /file/path
SGID:
默认情况下,用户创建文件时,其属组为此用户所属的基本组。
一旦某目录被设定了SGID,创建的文件属组为目录的属组。
给目录增加SGID:
chmod g+s /dir/path
Sticky:
对于一个多人可写目录,如果设置了Sticky权限,则每个用户只能删除自己的文件。
给目录增加Sticky:
chmod o+t /dir/path