我正在使用 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
[...]
我的第一个想法是,它是以一种奇怪的方式安装的:/etc/fstab 没问题,而且它似乎并没有以一种奇怪的方式安装......
我的第二个想法是,可能有一个 rootkit:但它不是一个 rootkit...rkhunter 告诉我,没有安装 rootkit...
我不知道是不是因为机器安装了或者进行了更新。我刚刚在机器上安装了 zabbix-agent 并发现它不能正常工作...
什么可能导致这种奇怪的权限(500)以及如何将其恢复到正常级别(555)?
疯了,我从来没有见过这样的事情......
提前感谢你的帮助,圣诞快乐:)
我已经检查了 sysctl,但没有结果。
sysctl -a | grep ps
sysctl -a | grep proc
感谢您对 grsecurity 的提示:我在 Google 上搜索了一下。dpkg 显示我正在使用标准内核,并且似乎没有安装 grsecurity。而且 /dev/grsec 也不存在。
我也停止了 apparmor,但仍然存在同样的问题。
dpkg 显示 libselinux1 已安装,但 selinux 包尚未安装......
还有其他方法可以检查 grsecrity、selinux 是否正在运行吗?
答案1
我不知道是不是因为机器安装了或者进行了更新。我刚刚在机器上安装了 zabbix-agent 并发现它不能正常工作...
我相信grsecurity
可以阻止用户查看所有进程。
答案2
我不会太担心 rootkit。这很可能甚至会隐藏一些 root 进程。但是,我应该补充一点,rkhunter
在盒子上运行本身并不十分可靠 - 它可能已被 rootkit 修改。
我以前从未见过这个特定问题。可能的原因如下:
- 设置
sysctl
- SELinux
- grsecurity
答案3
ps
仅显示可获取信息的进程的信息。由于/proc/12747
不可读,如果您不是 root 用户,则不会显示该信息。
笔记:这似乎是 Ubuntu 及其修改系统的(奇怪)方式造成的。这不是他们第一次随机放弃某些权限,因为他们认为这样做可以“保护”他们的系统,但最终导致程序不再“按预期”运行 — 参见https://bugs.launchpad.net/ubuntu/+source/libpam-mount/+bug/117736。任何正常内核都有 /proc/xyz 目录(尽管不一定是其中的所有文件)可供全世界读取!
答案4
我已经检查过 sysctl,没有结果
sysctl -a | grep ps sysctl -a | grep proc
感谢您对 grsecurity 的提示:我在 Google 上搜索了一下。dpkg 显示我正在使用标准内核,并且似乎没有安装 grsecurity。而且 /dev/grsec 也不存在。
我也停止了 apparmor,但仍然存在同样的问题。
dpkg 显示 libselinux1 已安装,但 selinux 包尚未安装......
还有其他方法可以检查 grsecrity、selinux 是否正在运行吗?