我需要找到不同进程的 RUID、EUID 和 SUID。不幸的是,我不知道如何找到这些 ID。
给出的是:
所有者、组和其他人访问权限。然后是一个数字(我不知道它有什么用,但它总是等于1
),所有者的姓名,组。最后是修改日期时间和文件名。
以下是一个例子:
-rwsr-xr-- 1 anna users Oct 12 11:12 file3.bin
答案1
这些参数属于过程。你给出的例子描述的不是一个过程,而是一个文件。如果您将该文件作为程序运行,则只会获得一个进程。
初始有效 UID(以及保存的 UID)可以在这里猜测:由于该文件设置了“setuid”标志,并且归用户“anna”所有,因此运行它将创建一个具有“anna”用户有效 UID 的进程。
同时,初始真实 UID 为总是根据运行程序和创建进程的用户。您可以使用它id
来查看您的进程。事实上,您可以复制id
到一个临时位置,更改其所有者,设置“setuid”位,然后查看它打印出什么值。
但是,进程可能会交换其真实和有效 UID,或者如果由 root 拥有,则将其更改为任何内容。要了解特定进程的 UID,您应该检查过程– 在 Linux 上,这可以通过读取来完成/proc/<pid>/status
,包括所有 UID、GID、补充组等。