|
发表于 2003-3-17 18:27:10
|
显示全部楼层
实际用户ID就是运行程序的用户
有效用户ID决定进程权限
保存的设置-用户-ID保存有效用户ID
比如用户usra运行了一个普通程序,这时候三个ID都是usra
如果运行了一个设置了设置-用户-ID位的程序(chmod u+s)(比如运行的是passwd,此程序的拥有者是root)
实际用户ID就是usra
有效用户ID就是程序的拥有者(root)
保存的设置-用户-ID也是root
一个进程可以用setuid改变有效用户ID,作为普通用户可以把有效用户ID改为实际用户ID或保存的设置-用户-ID.
只有这样象passwd这样的程序才能运行,因为它要更改/etc/passwd文件,此文件拥有者为root,一般用户无法更改.
不过写这种设置-用户-ID程序要特别小心,避免安全问题. |
|