ruid 和 suid 和 rgid 和 sgid 与权限有什么关系吗?

ruid 和 suid 和 rgid 和 sgid 与权限有什么关系吗?

每个进程有三个用户ID:

  • 真实用户ID ( ruid)。
  • 有效用户ID ( euid)。
  • 已保存的用户 ID ( suid)。

同样,一个进程也有三个组ID:

  • 真实组ID ( rgid)。
  • 有效组ID ( egid)。
  • 已保存的组 ID ( sgid)。

根据我的理解,在处理权限时使用euidegid(与 一起)。supplementary group IDs

但是ruidandsuidrgid和 呢sgid,它们在处理权限时有什么作用吗?

答案1

实际上,Linux 使用文件系统用户 ID 和组 ID(当然还有补充组 ID)来确定访问文件的权限;看setfsuid()。通常这些与有效用户 ID 和组 ID 相同。真实和保存的用户 ID 和组 ID 绝不会用于确定对文件、共享内存等的访问权限。

真实且已保存的用户ID用于确定一个进程是否可以向另一个进程发送信号;看man 2 kill

man 7 credentials进行完整的讨论。

相关内容