如何获取进程的ruid、euid、suid和rgid、egid、sgid?

如何获取进程的ruid、euid、suid和rgid、egid、sgid?

如何获取进程的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。

自由BSDpsmacOS 自带的 and 只知道and来svuid表示有效的UID 和 GID(不是or )。svgidsuidsgiduidgideuidegid

在 Linux 上,还有文件系统访问 UID 和 GID,尽管它可能用得不多(请参阅setfsuid(2))。这些的说明符是fuid/fsuidfgid/ fsgid

/proc/$pid/status也包含它们,请参阅proc(5)

相关内容