当 /proc/<pid>/status 文件中 UID 和 GID 字段的列值不同时

问题描述

这是示例 /proc/pid/status 文件输出

procfs(5) 手册页,发现那些是Real、Effective、Saved 和 FileSystem UID

Uid:    998     998     998     998
Gid:    996     996     996     996

这里都显示相同的值。

因此,这四列无论如何都会显示不同的 UID。 尤其是在真实、有效和文件系统 UID 中。

解决方法

以此为题:

因此,这四列可能会显示不同的 UID。

是的。受各种限制的影响,进程可以更改其有效和保存的 UID 和 GID。这就是 setuid()setgid()seteuid()setegid() 函数的作用。

文件系统 uid 和 gid 是 Linux 特定的功能,主要(如果不是全部)在 NFS 上下文中使用(请参阅 filesystem uid and gid in linux)。这些可以使用 setfsuid()setfsgid() 进行操作,同样受到限制。

对于大多数进程,所有的 UID 将相同,所有的 GID 将相同,但可以想象它们都将不同。它是进程行为的函数。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...