当前位置: 首页 > 文档资料 > FreeBSD 开发手册 >

3.4 SetUID 问题

优质
小牛编辑
128浏览
2023-12-01

对于给定的进程至少有6个不同的ID与之关联。因此你不得不非常 关注你的程序在任何特定时刻的权限问题。特别的,所有seteuid的程序 在不需要的时候会立刻放弃他们的特权。

实际用户ID只能被超级用户进程改变。当用户初始登陆时 login程序设置它并且极少进行更改。

如果程序准许seteuid位设置的话有效用户ID会被exec() 函数设置。应用程序可以调用seteuid() 在任何时候设置有效的用户ID为任意的实际用户ID或者保存 设置-用户-ID。当有效用户ID被 exec()函数设置后, 前一个ID的值会被保存在设置-用户-ID中。