您的位置:首页 > 运维架构 > Linux

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

2015-08-03 20:44 561 查看
以下是网络上查询到的解释,个人比较喜欢:

实际用户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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: