如何获取进程的ruid
(真实用户ID),euid
(有效用户ID),suid
(保存用户ID)和rgid
(真实组ID),egid
(有效组ID),sgid
(保存组ID),可以使用吗ps
?
答案1
使用 Debian 的procps-ng
:
$ ps -o pid,euid,ruid,suid,egid,rgid,sgid,cmd
PID EUID RUID SUID EGID RGID SGID CMD
28793 1000 1000 1000 1000 1000 1000 -/bin/bash
...
在下面STANDARD FORMAT SPECIFIERS
在手册页中:
euid EUID effective user ID (alias uid). euser EUSER effective user name. This will be the textual user ID, if it can be obtained and the field width permits, or a decimal representation otherwise.
ETC。
自由BSDps
macOS 自带的 and 只知道and来svuid
表示有效的UID 和 GID(不是or )。svgid
suid
sgid
uid
gid
euid
egid
在 Linux 上,还有文件系统访问 UID 和 GID,尽管它可能用得不多(请参阅setfsuid(2)
)。这些的说明符是fuid
/fsuid
和fgid
/ fsgid
。
/proc/$pid/status
也包含它们,请参阅proc(5)