码迷,mamicode.com
首页 > 其他好文 > 详细

特殊权限之set uid

时间:2017-06-12 22:23:45      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:set uid

特殊权限之suid

suid的限制与功能:

  • suid权限仅对二进制程序有效(binary program);

  • 执行者对于该程序需要具有x的可执行权限

  • 本权限仅在执行该程序的过程中有效(run-time);

  • 执行者将具有该程序拥有者的权限

前面介绍权限的时候,一直是用3位数,其实在最前面还有一位数。这就是要讲到的 set uidset gid以及sticky bit

技术分享

setuidsetgid的解说

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

标签:set uid

原文地址:http://12360027.blog.51cto.com/12350027/1934504

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!