Linux系统上的特殊权限
特殊权限:SUID, SGID, STICKY
安全上下文:
1、进程以某用户的身份运行,进程是发起此进程用户的代理,因此用户的身份和权限完成所有操作;
2、 权限匹配模型:
(1)判断进程属主,是否为被访问的文件属主;如果是,则应用属主的权限;否则进入第2步;
(2)判断进程的属主,是否属于 被访问的文件属组;如果是则应用属组的权限,否则进入第三步;
(3)应用other的权限;
SUID:
默认情况下:用户发起的进程,进程的属主是其发起者;因此,其以发起者身份在运行;|
SUID的功用:用户运行某程序时,如果此程序拥有SUID权限,那些程序运行为进程是,其属主不是发起者,而是程序文件自己的属主;
管理文件的SUID权限:
chmod u+ | -s FILE…..
展示位置:属主的执行权限位
如果属主原本有执行权限,显示为小写s、
否则,显示为大写S;
SGID:
功用:当目录属组有写权限,且有SGID权限是,那么所有属于此目录的属组,且以属组身份在此目录中新建成文件或目录是看,新文件的属组不是用户的基本组,而是此目录的属组;
管理文件的SGID权限:
chmod g+ | -s FILE…
当前位置:属组的执行权限位
如果属组原本有执行权限,显示为小写s,
否则,显示为大写s;
Sticky :
功用:对于属组或全局可写的目录,组内的所有用户或系统上的所有用户对此目录都能创建或删除已有文件;如果为此类目录设置sticky权限,则每个用户能创建新文件,且只能删除自己的文件;
管理文件的Sticky权限:
chmod o +| -t FILE…
展示位置:其它用户的执行权限位
如果其他用户原本有执行权限,显示为小写t、
否则,显示为大写T;
系统上的/tmp/和/var/tmp目录默认均有sticky权限;
管理特殊权限的另一方式;
suid sgid sticky
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
chmod 1777
z基于八进制方式赋权是,可于默认的三位八进制属组左侧在加上一位八进制数字;
例如:chomd 1777
facl: file access control lists
文件的额外赋权机制:
在原来的u.g.o之外,另一层让普通用户能控制赋权给另外的用户
getfacl命令:
getfacl FILE…
user:USERNAME: MODE
group: GROUPANME:MODE
setfacl命令:
赋权给用户:
setfacl -m u:USERNAME: MOOE FILE…
赋权给组:
setfacl -m g:GROUPNAME:MODE FILE…
撤销赋权:
setfacl -x u: USERNAME FILE…
setfacl -x g:GROUPNAME FILE…
原创文章,作者:shadow,如若转载,请注明出处:http://www.178linux.com/58411