当 /proc/<pid>/status 文件中 UID 和 GID 字段的列值不同时
When the column values for UID and GID fields in /proc/<pid>/status file will differ
这是示例 /proc/pid/status 文件的输出。
从 procfs(5) 手册页,发现那些是 真实、有效、已保存和文件系统 UID
Uid: 998 998 998 998
Gid: 996 996 996 996
这里都显示相同的值。
因此,这四列可能会显示不同的 UID。
特别是在 Real、Effective 和 Filesystem UID 之间。
以此为题:
So, in any chance those four columns will show different UIDs.
是的。受到各种限制,进程可以更改其有效和已保存的 UID 和 GID。这就是 setuid()
、setgid()
、seteuid()
和 setegid()
函数的作用。
文件系统 uid 和 gid 是 Linux 特定的功能,主要(如果不是全部)在 NFS 上下文中使用(请参阅 filesystem uid and gid in linux)。这些可以使用 setfsuid()
和 setfsgid()
进行操作,同样受到限制。
对于大多数进程,所有的 UID 都相同,所有的 GID 都相同,但可以想象它们都不同。它是进程行为的函数。
这是示例 /proc/pid/status 文件的输出。
从 procfs(5) 手册页,发现那些是 真实、有效、已保存和文件系统 UID
Uid: 998 998 998 998
Gid: 996 996 996 996
这里都显示相同的值。
因此,这四列可能会显示不同的 UID。 特别是在 Real、Effective 和 Filesystem UID 之间。
以此为题:
So, in any chance those four columns will show different UIDs.
是的。受到各种限制,进程可以更改其有效和已保存的 UID 和 GID。这就是 setuid()
、setgid()
、seteuid()
和 setegid()
函数的作用。
文件系统 uid 和 gid 是 Linux 特定的功能,主要(如果不是全部)在 NFS 上下文中使用(请参阅 filesystem uid and gid in linux)。这些可以使用 setfsuid()
和 setfsgid()
进行操作,同样受到限制。
对于大多数进程,所有的 UID 都相同,所有的 GID 都相同,但可以想象它们都不同。它是进程行为的函数。