前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中SUID权限解读

Linux中SUID权限解读

作者头像
黑白天安全
发布2020-03-09 13:32:55
1.6K0
发布2020-03-09 13:32:55
举报

Linux中SUID权限解读

做靶机的时候经常要通过Suid提权,例如使用命令:

  • find / -user root -perm -4000 -print 2>/dev/nullfind / type f -perm -u=s 2>/dev/null

那到底什么是Suid呢?看下面操作:

我们先创建一个普通用户,并为其创建一个初始密码:

  • useradd -d /home/test/ -s /bin/bash test

现在我们就要开始说这个Suid权限了。我们创建了一个test账号,一个账号最基本的功能就是给自己修改密码。在linux中,修改密码的命令为passwd。但是,passwd命令默认只有root用户才可以使用。那既然这样,普通用户该如何修改自己的权限呢。这时,便需要Set Uid权限了,简称SUID权限。

SUID权限的基本功能:

·SUID权限仅对二进制程序有效。

·执行者对该程序具有x的可执行权限,才可利用SUID权限。

·此权限仅在执行该程序的过程中有效。

·执行者讲具有程序拥有者的权限。

现在我们看一下passwd命令,该命令位于/usr/bin/目录下,是一个二进制程序

发现此命令并没有SUID权限(SUID权限的符号是s,位于程序拥有者的x权限上)。

那我们现在切换到test用户,看看在没有SUID权限的情况下,是否可以修改密码:

可以看到鉴定令牌错误,我们没用权限进行修改密码的操作。

那我们现在为passwd命令赋予SUID权限,看看效果会怎样:

代码语言:javascript
复制
chmod u+s /usr/bin/passwd   #为passwd命令赋予SUID权限

由图中看到,passwd权限变为-rwsr-xr-x,拥有者为root用户,且拥有者的x权限已经变为s


看到这里应该就清楚了,利用SUID的前提是当前用户可执行该SUID权限的程序,拥有执行权。并且该”不属于自身权限”的权限仅在执行该程序的过程中有效,不可跨程序执行,这也便是SUID权限的局限性。

虽然SUID方便了操作,但有些时候,也带了很多问题,这些在靶机中就遇见的太多太多了,我就不列举 了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑白天实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档