linux 系统中 euid、suid 和 ruid 的区别

difference between euid, suid and ruid in linux systems

我想知道euid、suid、ruid的区别
我知道 suid(set user ID) 是什么,但我想知道这 3 个之间的区别。

一个进程有一个有效的、保存的、真实的UID和GID。

有效 UID 用于大多数访问检查,并作为进程创建的文件的所有者。非特权进程只能将其有效 UID 更改为其保存的 UID 或实际 UID。

Saved UID 当进程 运行 提升权限需要暂时降低其权限时使用。该进程将其有效 UID(通常是 root)更改为非特权 UID,并将其特权有效 UID 复制到已保存的 UID。稍后,该进程可以通过将其有效 UID 重置回保存的 UID 来恢复其提升的特权。

Real UID用于识别进程的真正所有者,影响发送信号的权限。仅当发送方的真实或有效 UID 与接收方的真实或保存的 UID 匹配时,非特权进程才能向另一个进程发出信号。子进程从父进程继承凭据,因此它们可以相互发送信号。