轻松理解Linux粘滞位

SUID 是 Set User ID
作用是让程序执行者具有该程序所有者的权限;
如果没有设置,程序执行者具有执行用户的权限。SUID 位可以通过 chmod u+s 设置。

在Linux中,所有账号的密码记录在 /etc/shadow文件中,并且只有root可以读写这个文件。那么,一个普通用户通过命令 passwd 修改自己密码的过程中肯定就需要写 /etc/shadow这个文件,之所以能这么做是因为 /usr/bin/passwd 设置了SUID位:

-rwsr-xr-x. 1 root root 30768 Feb 22 2012 /usr/bin/passwd

Linux 内核主要是根据 EUID(effective user id) 和 EGID(effective group id) 来确定进程对资源的访问权限。 如果进程对应的程序没有设置 SUID 或 SGID 位,则 euid=uid egid=gid,分别是执行这个程序的用户的 uid 和 gid;反之,则 euid 和 egid 变为程序所有者的 uid和 gid。

因此如果能拦截有粘滞位的程序在降低权限之前,实施越权访问或操作,就很有可能最终获得root权限或以root身份进行越权操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我曾阿牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值