|

楼主 |
发表于 2004-1-7 17:38:30
|
显示全部楼层
谢谢大家的帮助!!!!!
看了libinary的贴,有不懂的地方??
实际用户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程序要特别小心,避免安全问题.
括号里得内容是我加上去的,不知道描述得对不对。
对不起,到现在我还没有完全弄懂。
我不明白这三个概念是对于一个进程来说的还是被一个进程运行的程序文件来说的?:help :help |
|