我正在分析Unix/Linux中的procfs,但一些进程的loginuid非常奇怪。一些pid的loginuid是一个很大的数字:4294967295。它们是守护进程或系统事件还是有什么问题?
# cat /proc/11071/loginuid
4294967295
4294967295只是(无符号长整型)-1。-1表示未设置loginuid。对于没有由任何登录进程产生的进程(例如守护程序),这是正常行为。 loginuid默认为-1;pam_loginuid模块在您登录时(在tty/in DM/via ssh中)将其更改为您的用户ID,并且此值由子进程保留。
我正在挖掘信息,但我卡在这里了,我有信息要分享。
loginuid支持需要使用已编译CONFIG_AUDITSYSCALL的内核。
检查方法如下:
zgrep CONFIG_AUDITSYSCALL /boot/config* /proc/config.gz
目前,我可以检查两个CentOS主机。 它们都使用64位内核,并已编译CONFIG_AUDITSYSCALL=y
我以一个普通用户的身份登录bash。
CentOS 5.11,内核版本为2.6.18-419.el5
cat /proc/$$/loginuid
4294967295
CentOS 6.10,内核版本为2.6.32-754.28.1.el6
cat /proc/$$/loginuid
503
[kworker/u16:26]
。 - Michael Berkowski