标签:linux的特殊权限
备注:马哥课堂笔记总结
时间:2015.09.08
linux的特殊权限
权限模型:
u, 文件属主
g, 文件属组
o,其他用户
r, 可读
w, 可写
x,可执行
进程的安全上下文:
前提:进程有属主(进程以哪个用户的身份运行);文件有属主和属组;
(1) 用户是否能够把某个可执行程序文件启动为进程,取决于用户对程序文件是否拥有执行权限;
(2) 程序启动为进程后,此进程的属主为当前用户,也即进程的发起者;进程所属的组,为发起者的基本组;
(3) 进程拥的访问权限,取决其属主的访问权限:
(a) 进程的属主,同文件属主,则应用文件属主权限;
(b) 进程的属主,属于文件的属组,则应用文件属组权限;
(c) 则应用其它权限;
SUID:
(1) 任何一个可执行程序文件能不能启动为进程:取决于发起者对程序文件是否有执行权限;
(2) 启动为进程之后,其属主不是发起者,而程序文件自己的属主;这种机制即为SUID;
权限设定:
chmod u+s FILE...
chmod u-s FILE...
注意:
小写的s: 属主原本拥有x权限;
大写的S: 属主原本无x权限;
SGID:
默认情况下,用户创建文件时,其属组为此用户所属的基本组;
一旦某目录被设定了SGID权限,则对此目录拥有写权限的用户在此目录中创建的文件所属的组为目录的属组,而非用户的基本组;
权限设定:
chmod g+s FILE...
chmod g-s FILE...
Sticky:
对于一个多人可写的目录,此权限用于限制每个仅能删除自己的文件;
权限设定
chmod o+t FILE...
chmod o-t FILE...
SUID, SGID, STICKY
000 0 无任何特殊权限 权限就是根据普通权限来执行
001 1 有 STICKY权限 此权限和SGID权限来同时使用,防止目录下用户利用权限来修改其目录下其它用户的文件夹和删文件,只能对自己的文件和目录做操作了
010 2 有SGID权限 此权限时针对目录来创建的,目录加上此权限之后在此目录下任何用户创建的文件和目录的属组都属于此目录的属组,这样此用户如果与父目录的属组为同一个组的话,就能在此目录执行与目录属组相同的权限
011 3 有SGID和STICKY权限 防止目录下用户利用权限来修改其目录下其它用户的文件夹和删文件,只能对自己的文件和目录做操作了
100 4 有SUID权限 此权限是非常特殊的权限,非必要情况下不要使用,加上此权限是所有进程的权限不是启动此进程的用户的权限了启动为进程之后,其属主不是发起者,而程序文件自己的属主 (说实话我自己有点不太理解还请老师点评呀)
101 5 有SUID和STICKY权限
110 6 有SUID和SGID权限
111 7 有SUID、SGID和STICKY权限
chmod 4777 FILE
chmod 3755 DIR
练习:
1、让普通用户能使用/tmp/cat去查看/etc/shadow文件;
2、创建目录/test/data,让某组内普通用户对其有写权限,且创建的所有文件的属组为目录所属的组;此外,每个用户仅能删除自己的文件;
本文出自 “IT-style” 博客,请务必保留此出处http://huichengu.blog.51cto.com/2495968/1693289
标签:linux的特殊权限
原文地址:http://huichengu.blog.51cto.com/2495968/1693289