当前位置:嗨网首页>书籍在线阅读

14-总结

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.8 总结

每个进程都有一干与之相关的用户ID和组ID(凭证)。实际ID定义了进程所属。在大多数的UNIX实现中,进程对诸如文件之类资源的访问,其许可权限由有效ID决定。然而,Linux会使用文件系统ID来决定对文件的访问权限,而将有效ID用于检查其他权限。(因为文件系统ID一般等同于相应的有效ID,所以Linux对文件权限的检查方式与其他UNIX实现相同。)进程辅助组ID则是出于权限检查目的而另行设立的进程属组集合。存在各种系统调用和库函数支持进程获取和修改其用户ID和组ID。

set-user-ID程序运行时,会将进程有效用户ID置为文件属主的用户ID。运行某个特殊程序时,这种机制支持用户“假借”其他用户的身份和特权。相应的,set-group-ID程序会修改运行该程序的进程的有效组ID。保存set-user-ID和保存set-group-ID允许set-user-ID和set-group-ID程序临时性地放弃特权,并在之后恢复特权。

0在用户ID中可谓卓尔不群。通常仅为一个名为root的账号所有。有效用户ID为0的进程属特权级进程。换言之,对于进程发起的各种系统调用,可免于接受通常所要历经的诸多权限检查(比如那些能够随意修改进程各种用户ID和组ID的调用)。