linux 实际用户ID、有效用户ID以及保存的设置用户ID

本文详细解析了实际用户ID与有效用户ID的概念,通过实例展示了passwd和ping命令如何影响用户权限,以及保存用户ID的过程。重点强调了setuid程序的作用,即在执行这些程序时用户权限临时提升至拥有者权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是网络上查询到的解释,个人比较喜欢:

实际用户ID是比较明显的,就是用户的登录ID,比如我们登录的是普通用户cheney,这个就是在整个会话周期内的实际用户ID。

有效用户ID是说当cheney这个用户在执行某个进程的时候它的身份,那为什么这两个会不一样呢,我们看下系统的passwd程序,它的权限是这样的
-rwsr-xr-x 1 root root 37100 2010-09-03 18:28 /usr/bin/passwd


我们发现这是一个root拥有的文件,但是是不是意味这cheney这个用户就不能执行呢?不是,正是因为这里的第三位置为s,表示这是一个setuid的程序,所有执行passwd的用户实际上都是以root权限在运行的,这时root就是有效用户。

那好了,保存用户ID也不难理解了,当我们运行一个setuid的程序后,我们要回到原来的用户身份去,这时候就需要获取我们原来的身份是什么,而这个信息是存在保存的set uid中的。

备注:ping 命令也是同样的道理,因为ping需要创建row socket,需要root权限
-rwsr-xr-x. 1 root root 40760 Jul 19  2011 /bin/ping


FROM:   http://blog.chinaunix.net/uid-18905703-id-3843177.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值