掌握Linux之实际用户ID 有效的用户ID 保存的设置用户ID 3.保存的设置用户ID是由exec复制有效用户ID而得来的 未完待续,分析一个实际例子
Linux通过进程的 实际用户ID/实际组ID,有效用户ID/有效组ID/
来控制进程对资源的访问。
其中,实际用户ID/实际组ID标识进程究竟是谁(
有效用户ID/有效组ID/附加组ID决定了进程的访问权限
保存的设置用户ID/
通常,有效用户ID等于实际用户ID,有效组ID等于实际组ID
但是可以在文件模式字(st_mode)中设置一个特殊标志(
程的有效用户ID设置为程序文件所有者的用户ID(s_uid)
在文件模式字s_mode中这两位S_ISUID,S_
当程序需要增加特权以访问当前不允许访问的资源时,
或者访问权限。
Linux系统提供了setuid/setgid(
1.若进程具有超级用户权限,则setuid(uid)
2.若进程没有超级用户特权,
uid
3.如果以上两个条件都不满足,
关于内核所维护的三个用户ID,还需注意一下几点:
1.只有超级用户进程可以改变实际用户ID。
2.仅当对程序文件设置了设置用户ID位时,
数不会改变有效用户ID,而将其维持为原先值。
ID或者保存的设置用户ID。