ps aux als Nicht-Root zeigt nicht alle Prozesse an

ps aux als Nicht-Root zeigt nicht alle Prozesse an

ich verwende einen Ubuntu 10.04-Server ...

Wenn ich ps aux als Root ausführe, werden alle Prozesse angezeigt. Wenn ich ps aux als Nicht-Root ausführe, werden NUR die Prozesse des aktuellen Benutzers angezeigt.

nach einiger Recherche habe ich folgende Lösung gefunden:

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
[...]

mein erster Gedanke war, dass es auf eine seltsame Weise gemountet wurde: /etc/fstab ist ok und es scheint nicht auf eine seltsame Weise gemountet zu sein...

Meine zweite Idee war, dass es ein Rootkit geben könnte: aber es ist kein Rootkit ... rkhunter sagt mir, dass kein Rootkit installiert ist ...

ich weiß nicht, ob es an der Installation auf der Maschine liegt oder ob es ein Update gab. Ich habe gerade den Zabbix-Agent auf der Maschine installiert und festgestellt, dass er nicht richtig funktioniert ...

Was könnte die Ursache für diese seltsamen Berechtigungen (500) sein und wie kann ich sie wieder auf ein normales Niveau (555) zurücksetzen?

Wahnsinn, sowas habe ich noch nie erlebt...

Vielen Dank im Voraus für jede Hilfe und frohe Weihnachten :)


Ich habe sysctl bereits überprüft, ohne Ergebnis.

sysctl -a | grep ps
sysctl -a | grep proc

danke für den Tipp zu grsecurity: ich habe ein bisschen danach gegoogelt. dpkg zeigt, dass ich den Standardkernel verwende und es scheint, als sei kein grsecurity installiert. außerdem existiert /dev/grsec nicht.

ich habe Apparmor auch gestoppt, aber es besteht immer noch das gleiche Problem.

dpkg zeigt, dass libselinux1 installiert ist, aber nicht das Selinux-Paket ...

Gibt es eine andere Möglichkeit, zu überprüfen, ob Grsecrity und Selinux ausgeführt werden?

Antwort1

ich weiß nicht, ob es an der Installation auf der Maschine liegt oder ob es ein Update gab. Ich habe gerade den Zabbix-Agent auf der Maschine installiert und festgestellt, dass er nicht richtig funktioniert ...

Ich glaube, grsecuritydass es dem Benutzer die Anzeige aller Prozesse verwehren kann.

Antwort2

Wegen eines Rootkits würde ich mir keine allzu großen Sorgen machen. Das würde höchstwahrscheinlich sogar einige Prozesse für Root verbergen. Allerdings muss ich hinzufügen, dass die Ausführung rkhunterauf der Box selbst nicht sehr zuverlässig ist - sie könnte vom Rootkit verändert worden sein.

Ich habe dieses spezielle Problem noch nie zuvor gesehen. Einige Möglichkeiten können sein:

Antwort3

pszeigt nur Informationen zu Prozessen an, zu denen es Informationen abrufen kann. Da /proc/12747es nicht lesbar ist, werden die Informationen nicht angezeigt, wenn Sie kein Root sind.

NOTIZ: Dies scheint an Ubuntu und der (seltsamen) Art und Weise zu liegen, wie sie ihre Systeme modifizieren. Es ist nicht das erste Mal, dass sie willkürlich Berechtigungen irgendwo löschen, in der Annahme, dass dies ihre Systeme „sichern“ würde, was aber letztendlich dazu führt, dass Programme nicht mehr „wie erwartet“ funktionieren – vgl.https://bugs.launchpad.net/ubuntu/+source/libpam-mount/+bug/117736. Jeder normale Kernel hat /proc/xyz-Verzeichnisse (aber nicht notwendigerweise alle darin enthaltenen Dateien), die für alle lesbar sind!

Antwort4

ich habe bereits sysctl überprüft, ohne Ergebnis

sysctl -a | grep ps sysctl -a | grep proc

danke für den Tipp zu grsecurity: ich habe ein bisschen danach gegoogelt. dpkg zeigt, dass ich den Standardkernel verwende und es scheint, als sei kein grsecurity installiert. außerdem existiert /dev/grsec nicht.

ich habe Apparmor auch gestoppt, aber es besteht immer noch das gleiche Problem.

dpkg zeigt, dass libselinux1 installiert ist, aber nicht das Selinux-Paket ...

Gibt es eine andere Möglichkeit, zu überprüfen, ob Grsecrity und Selinux ausgeführt werden?

verwandte Informationen