Chinaunix首页 | 论坛 | 博客

  • 博客访问: 275247
  • 博文数量: 55
  • 博客积分: 1597
  • 博客等级: 上尉
  • 技术积分: 590
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-30 17:40
文章分类

全部博文(55)

文章存档

2016年(2)

2014年(5)

2013年(35)

2012年(5)

2010年(4)

2009年(4)

我的朋友

分类: LINUX

2013-08-11 17:19:18

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

实际用户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

阅读(5422) | 评论(0) | 转发(2) |
1

上一篇:freebsd9.1 vim安装 备忘

下一篇:代码统计

给主人留下些什么吧!~~