Chinaunix

标题: 什么是实际用户ID、有效用户ID和设置用户ID? [打印本页]

作者: shaohui973    时间: 2010-07-09 16:01
标题: 什么是实际用户ID、有效用户ID和设置用户ID?
如题,一直搞不明白这三个,希望高手指导下!{:3_183:}
作者: donglongchao    时间: 2010-07-09 16:05
google
{:3_183:}
作者: liwangli1983    时间: 2010-07-09 18:54
看APUE2
作者: 聪聪知不道    时间: 2010-07-09 23:22
实际用户ID就是你登录系统的时候是什么用户就是什么用户。

有效用户ID是指你以一个用户身份登录了,但是你运行一个程序的时候,未必是这个身份在起作用(联想下passwd这个命令)。也就是说,你执行这个进程的时候,哪个身份在起作用,这个身份就是有效用户ID。

设置用户ID指的是一种机制,如果你设置一个文件的设置用户ID位,这个程序在运行的时候,你会得到这个文件所有者的权限。也就是说,你运行这个文件的时候,你的有效用户ID就不是你的实际用户ID了(通常这两个是一样的),而是文件所有者的uid。
作者: ydfgic    时间: 2010-07-10 00:36
好像passwd是设置用户id,root
作者: suavelee    时间: 2010-07-10 16:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: folklore    时间: 2010-07-10 17:18
实际用户ID就是你的身份证号码

有效用户ID是别人的身份证号码,这在某些时候很有用,比如你老爸很忙,你拿着你老证的身份证办事(事实上,说你冒充你老爸更确一些,因为此时,在Unix语义的“法律”上,你的行为被认为是你老爸的行为)

设置用户ID则是提供了实现以上机制的可能,可能认为是一种“授权”行为。上例中,授权者是你老爸。

将程序比拟为一个表单,这个表单是空的,但你老爸在上面签名了。这个签名就是SetUID的动作。
现在你可以在表单的框架的限制上,在表单中填入任何内容(运行程序)。你提交此表单时,所有的被填写的内容都会被认为是你老爸填写的。也就是在执行这个程序时,你拥有了你老爸的所有权利。
作者: shengzaiwen    时间: 2014-04-16 13:55
回复 4# 聪聪知不道
理解的好透彻

   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2