进程参数中的 UID 和 GID 有什么意义?
有 EUID、RUID、SUID(对于 Linux FSUID)确定进程权限。我无法想象 UID/GID 在这种情况下有什么用。
举个例子,如果我在一个终端中运行$ passwd
,并在其他打印过程参数中运行,那么我会得到以下输出
$ ps -Ao uid,euid,ruid,suid,cmd | grep passwd
0 0 1000 0 passwd
看来 UID 已更改为 EUID。这种行为有什么特殊原因吗?
答案1
$ ps -Ao uid,euid,ruid,suid,cmd | grep passwd
0 0 1000 0 passwd
uid
procps/Linux 中的格式说明符和euid
选择器ps
是完全相同的;uid
是 的别名euid
。
从man ps
:
STANDARD FORMAT SPECIFIERS
...
euid EUID effective user ID (alias uid).
...
uid UID see euid. (alias euid).