Linux 一些uid';/proc/pid/loginuid中的s很奇怪

Linux 一些uid';/proc/pid/loginuid中的s很奇怪,linux,unix,procfs,Linux,Unix,Procfs,我正在分析unix/linux中的procfs,一些进程的loginuid非常奇怪。有些pid的登录ID很大:4294967295。它们是守护进程还是系统事件,或者是什么问题 # cat /proc/11071/loginuid 4294967295 4294967295正好(无符号长)-1-1表示未设置loginuid。对于不是由任何登录进程生成的进程(例如守护进程),这是正常的行为。 loginuid默认为-1;pam_loginuid模块在您每次登录时(在tty/在DM/通过ssh)都会

我正在分析unix/linux中的procfs,一些进程的loginuid非常奇怪。有些pid的登录ID很大:4294967295。它们是守护进程还是系统事件,或者是什么问题

# cat /proc/11071/loginuid
4294967295
4294967295正好(无符号长)-1-1表示未设置loginuid。对于不是由任何登录进程生成的进程(例如守护进程),这是正常的行为。
loginuid默认为-1;pam_loginuid模块在您每次登录时(在tty/在DM/通过ssh)都会将其更改为您的用户id,并且该值由子进程保留。

我正在进行挖掘,但我在这方面遇到了困难,我有信息要共享

  • 内核支持
  • loginuid支持需要使用CONFIG\u AUDITSYSCALL编译内核

    检查:

    zgrep CONFIG_AUDITSYSCALL/boot/CONFIG*/proc/CONFIG.gz

  • 内核错误
  • 目前,我可以查看两台centos主机。 它们都有使用CONFIG_AUDITSYSCALL=y编译的64位内核

    我在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


    4294967295是32位整数中可能的最大数字,但这并不能解释为什么会看到loginuids1。这不是在我自己的Fedora Linux机器上检查那些具有32位int max loginuid的进程的要点,它们是内核进程“审计守护进程启用内核中的审计功能。在内核中打开审核功能之前运行的任何进程都将获得loginuid 4294967295。“我不知道auditd是进程获得loginuid 4294967295的唯一原因,但这是我在它上面发现的一件事。。。