Linux文件系统的特殊权限
一、安全上下文的概念
- 任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限
- 启动为进程之后,其进程属主为进程的发起者,属组为发起者属组
- 进程访问文件时的权限取决于进程的发起者
- 进程的发起者,同文件的属主,则应用文件属主权限
- 进程的发起者,属于文件的属组,则应用文件属组权限
- 否则应用其他权限
二、特殊权限
1. 概念
SUID
:一个用户运行进程,取决于用户对执行文件是否有执行权,运行起来后,进程的属主是运行进程的用户,而有suid的文件,启动的进程属主为执行文件的属主SGID
:默认情况下,用户新建文件时,这个文件的属组为用户的基本组,而一旦某目录加上了SGID权限,则新建的文件属组会继承父目录的属组,其缺点是会带来多人可写目录,这样的话目录属组中的成员对目录中的文件都可以互相删除,需粘滞位解决Sticky
:粘至位权限,默认情况下,多人可写目录,用户可删除他人的文件,而粘滞位权限可解决这个问题,让每个用户仅能删除自己的文件
2. 赋权方法
chmod u+s
:增加SUID权限chmod g+s
:增加SGID权限chmod o+t
:增加粘滞位权限
3. 系统自带粘至位的目录
/tmp
/var/tmp
4.具有特殊权限的文件映射显示
SUID
:占据属主的执行权限位
s
:原有x
S
:没有xSGID
:占据属组的执行权限位
s
:原有x
S
:没有x- Stacky:占据其他执行权限位
t
:原有x
T
:没有x
5. 权限换算:特殊权限也可换算程8进制表示
|
三、权限相关的一些小细节
- 目录包含下列权限所代表的意义
- r:拥有读权限,表示可使用ls命令获取其下的所有文件列表
- w:用些写权限,表示可在此目录下修改(删除)文件
- x:可cd至此目录中
- 文件:
- r:文件拥有读权限,表示可读取文件的数据
- w:文件拥有写权限,表示可修改数据
- x:文件拥有执行权限,表示可将此文件运行为进程,但文件内容必须是可执行的
注:可否删除某个文件,取决于用户对这个文件的父目录是否有写权限
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Busyops!
评论