ps aux as non-root 不显示所有进程

JMW*_*JMW 4 process

我正在使用 ubuntu 10.04 服务器...

当我以 root 身份运行 ps aux 时,我看到所有进程,当我以非 root 身份运行 ps aux 时,我只看到当前用户的进程

经过一番研究,我找到了以下解决方案:

root@m85:~# ls -al /proc/
total 4
dr-xr-xr-x 122 root      root         0 2010-12-23 14:08 .
drwxr-xr-x  22 root      root      4096 2010-12-23 13:30 ..
dr-x------   6 root      root         0 2010-12-23 14:08 1
dr-x------   6 root      root         0 2010-12-23 14:08 10
dr-x------   6 root      root         0 2010-12-23 14:08 1212
dr-x------   6 root      root         0 2010-12-23 14:08 1227
dr-x------   6 root      root         0 2010-12-23 14:08 1242
dr-x------   6 zabbix    zabbix       0 2010-12-24 23:52 12747
[...]
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是,它以一种奇怪的方式安装:/etc/fstab 没问题,而且它似乎没有以一种奇怪的方式安装......

我的第二个想法是,可能有 rootkit:但它不是 rootkit……rkhunter 告诉我,没有安装 rootkit……

我不知道是因为机器安装了还是更新了。我刚刚在机器上安装了 zabbix-agent 并意识到它无法正常工作......

我已经检查过 sysctl,没有结果。

sysctl -a | grep ps
sysctl -a | grep proc
Run Code Online (Sandbox Code Playgroud)

我得到了一个关于 grsecurity 的提示,并在谷歌上搜索了一些。dpkg 显示我使用的是标准内核并且似乎没有安装 grsecurity。/dev/grsec 也不存在。

我也停止了apparmor,但仍然存在同样的问题。

dpkg 显示已安装 libselinux1,但未安装 selinux 包... /selinux 为空...

有没有另一种方法可以检查grsecrity、selinux 是否正在运行?

是什么导致了这种奇怪的权限(500),我如何将其设置回正常级别(555)?

疯了,我从来没有见过这样的东西......

提前感谢您的帮助和圣诞快乐:)

只是为了说清楚, ps aux 打印出什么(作为 root 我看到所有进程也是 apache,它在 www-data 下运行):

zabbix@m85:~$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
zabbix   12747  0.0  0.0   9760   572 ?        SN   Dec24   0:00 zabbix_agentd
zabbix   12749  0.1  0.0   9760   872 ?        SN   Dec24   2:13 zabbix_agentd
zabbix   12750  0.0  0.0   9772   784 ?        SN   Dec24   0:00 zabbix_agentd
zabbix   12751  0.0  0.0   9772   788 ?        SN   Dec24   0:00 zabbix_agentd
zabbix   12752  0.0  0.0   9772   780 ?        SN   Dec24   0:00 zabbix_agentd
zabbix   12753  0.0  0.0   9760   608 ?        SN   Dec24   0:01 zabbix_agentd
zabbix   32067  0.0  0.0  35864  1360 pts/0    S    00:54   0:00 su - zabbix
zabbix   32068 11.0  0.3  25096  6980 pts/0    S    00:54   0:00 -su
zabbix   32094  0.0  0.0  15188  1152 pts/0    R+   00:54   0:00 ps aux
zabbix@m85:~$
jmw@m85:~$
jmw@m85:~$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
jmw    32361  0.0  0.0  15188  1156 pts/0    R+   00:57   0:00 ps aux
jmw@m85:~$
Run Code Online (Sandbox Code Playgroud)

msw*_*msw 6

您似乎遇到了默认的 Ubuntu procps 版本ps- 通过尝试模拟三种不同的参数风格 - 可能会非常混乱。引用手册页:

此版本的 ps 接受多种选项:

  1. UNIX 选项,可以分组并且必须以破折号开头。
  2. BSD 选项,可以分组并且不能与破折号一起使用。
  3. GNU 长选项,前面有两个破折号。

这意味着ps -a产生与ps a. 鉴于我的历史,我很喜欢,ps -eaH坦率地说,我不需要非常了解 RSS 过程,通常足以通读整个手册以找到哪个标志会给我。