- 若进程的有效用户ID是0(root),则允许存取;
- 若进程的有效用户ID等于文件的所有者ID(即该进程拥有文件)
-若所有者存取许可权被设置,则允许存取
-否则拒绝存取- 若进程的有效组ID或进程的添加组ID之一等于文件组ID:
-若组存取许可权被设置,则允许存取
-否则拒绝存取- 若其他用户存取许可权被设置,则允许存取,否则拒绝存取
内核按顺序执行上述4步测试。若进程拥有此文件,则按用户存取许可权批准或拒绝该进程对文件的存取——不查看组存取许可权。相类似,若进程并不拥有该文件,但进程属于某个适当的组,则按组存取许可权批准或拒绝该进程对文件的存取——不查看其他用户的许可权。
关于实际用户/组ID和有效用户/组ID
原文地址:linux下进程的实际用户ID(实际组)和有效用户ID(有效组ID)
实际用户ID(实际组ID):标识当前用户(所属组)是谁,当用户登陆时取自口令文件。
有效用户ID(有效组ID):用来决定我们(当前进程)对文件的访问权(即实际该进程的是以那个用户运行的)。
一般情况下,进程的有效用户ID等于进程的实际用户ID,进程的有效用户组ID等于进程的实际用户组ID。
但是当可执行程序文件的文件模式(st_mode)中设置了“设置-用户-ID(set_user_id)位”时,进程的有效用户ID等于该可执行文件的拥有者ID。
同样的如果可执行文件的文件模式(st_mode)中设置了“设置-组-ID(set-group-d)位”时,进程的有效用户组ID等于该可执行文件的拥有组ID。