xhh_0168
新新人类
帖子
17
精华
0
无忧币 11
积分 33
阅读权限 20
|
发表于:2008-7-17 00:44
标题:suid sgid
<上一帖 |
下一帖>
有三种权限,OWNER权限,GROUP权限,OTHER 权限(如果不是OWNER,又不在那个组里,你享受此权限),例如,test是个程序,它的权限如下设置
-rwxr-xr-- 1 peter goodguy 11 Jul 31 19:32 test
假如这个程序中执行中要删除一个OWNER为peter的文件data.txt, 而这个文件的权限设置是这样的:
-rwx------ 1 peter badguy 11 Jul 31 19:33 data.txt
在不设SUID的情况下,peter可以执行这个程序并成功的删除文件,而在goodguy 组的成员,虽然有对test程序的执行权,但执行中删除不掉data.txt这个文件。WHY?
goodguy组里的人对data.txt无删的权力。
假定设了SUID后,goodguy组里的人再执行这个程序,但此程序运行中遇到权限问题,就自动被赋与OWNER的权力,则此程序可执行也
SGID差不多,只不过针对组权限而言
系统安全中,SUID是一个不提倡的东西,能不用就不用
注:
-rwsr-xr-x 其中的s就是代表suid,因为它是在用户权限中,如果是这样-rw-rwsr-x那就是代表sgid,因为它是在组权限中。
suid和sgid可以用数字表示,和uid和gid一样的,
4:suid
2:sgid
1 ther
所以上面的-rwsr-xr-x用数字表示为:4755
-rw-rwsr-x表示为:2675
还有大S和大T的写法。
[root@test tmp]# chmod 7666 test
[root@test tmp]# ll
total 0
-rwSrwSrwT 1 root root 0 Feb 6 23:08 test
这个例子就要特别小心啦!怎么会出现大写的 S 与 T 呢?不都是小写的吗?因为 s 与 t 都是取代 x 这个参数的,但是你有没有发现阿,我们是下达 7666 喔!也就是说, user, group 以及 others 都没有 x 这个可执行的标志 ( 因为 666 嘛! ),所以,这个 S, T 代表的就是『空的』啦!怎么说? SUID 是表示『该档案在执行的时候,具有档案拥有者的权限』,但是档案拥有者都无法执行了,哪里来的权限给其它人使用?当然就是空的啦! ^_^
|
 网络虽虚拟,技术无边界,来看看大家“真面目”! |
|