标签:set uid
特殊权限之suid
suid的限制与功能:
suid权限仅对二进制程序有效(binary program);
执行者对于该程序需要具有x的可执行权限;
本权限仅在执行该程序的过程中有效(run-time);
执行者将具有该程序拥有者的权限。
前面介绍权限的时候,一直是用3位数,其实在最前面还有一位数。这就是要讲到的 set uid、set gid以及sticky bit。
setuid和setgid的解说
setuid 和setgid是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。
http://wangxinglong.blog.51cto.com/679714/340161(详细信息)
Sticky Bit
SBIT只针对目录有效。他对目录的作用是:
当用户对此目录具有w,x权限,在该目录下建立文件或目录时,仅有自己与root才有权利删除该文件。
该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。
比如passwd这个命令就具有该权限。当普通用户执行passwd命令时,可以临时获得root权限,从而可以更改密码。
passwd显示的是rws并非传统的rwx.用数字表示为4755。
4 的计算方法:当有特殊权限时,第一位数字可以是0,1(--t),2(-s-),3(-st),4(s--),5(s-t),6(ss-),7(sst).
再回头来看passwd,他是s--所以是4。
例:
自定义一个set uid的权限。
说明:su - user2这个命令可以让root用户临时切换到user2用户下,以user2的身份去执行命令。
普通用户是没有权限查看/root/目录内容的,所以报错了。
用exit退出user2,然后给/bin/ls命令加一个set uid权限,再次切换到user2下,再执行ls/root/就可以查看了。
这里我们使用了chmod u+s /bin/ls来给 ls 增加一个set uid权限。有时候可能会看到-rwSr-xr-x这样的权限,s(有执行权限)变成了S(没有执行权限),这是由于所有者没有执行权限。
本文出自 “12350027” 博客,谢绝转载!
标签:set uid
原文地址:http://12360027.blog.51cto.com/12350027/1934504