小编典典

进程可以具有的每个不同的UID的目的是什么?

linux

实际的UID,有效的UID,以及某些系统甚至具有“已保存的UID”。所有这些的目的是什么,尤其是最后一个?


阅读 417

收藏
2020-06-03

共1个答案

小编典典

每个UNIX进程都有3个与之关联的UID。超级用户特权是UID = 0。

真实的UID

这是创建此流程的用户/流程的UID。仅当正在运行的进程的EUID = 0时才可以更改。

有效的UID

此UID用于评估执行特定操作的进程的特权。如果EUID!= 0,则可以将EUID更改为RUID或SUID。如果EUID = 0,则可以将其更改为任何内容。

保存的UID

如果您将set-
UID位置1来运行可执行文件,则最终的运行过程将以运行它的真实用户的真实UID以及可执行文件所有者的有效且已保存的UID开始。如果该过程随后调用setuid()或seteuid()来更改其有效UID,则由于保存了UID,它们仍然可以再次取回其原始特权。如果未设置set-
UID,则SUID将成为RUID。

2020-06-03