Я использую сервер Ubuntu 10.04...
когда я запускаю ps aux как root, я вижу все процессы, когда я запускаю ps aux как non-root, я вижу ТОЛЬКО процессы текущего пользователя
После небольшого исследования я нашел следующее решение:
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 в порядке, и он, похоже, не был смонтирован странным образом...
Моя вторая мысль была, что там может быть руткит: но это не руткит... rkhunter говорит мне, что руткит не установлен...
Я не знаю, произошло ли это с момента установки машины или с обновлением. Я только что установил Zabbix-agent на машину и понял, что он работает неправильно...
Что могло вызвать такие странные разрешения (500) и как мне вернуть их к нормальному уровню (555)?
Безумие, я никогда ничего подобного не видел...
Заранее спасибо за любую помощь и счастливого Рождества :)
Я уже проверил sysctl, но безрезультатно.
sysctl -a | grep ps
sysctl -a | grep proc
спасибо за совет по grsecurity: я немного погуглил. dpkg показывает, что я использую стандартное ядро, и grsecurity, похоже, не установлен. Также /dev/grsec не существует.
Я также остановил apparmor, но проблема все еще та же.
dpkg показывает, что установлен libselinux1, но не пакет selinux...
есть ли другой способ проверить, запущены ли grsecrity и selinux?
решение1
Я не знаю, произошло ли это с момента установки машины или с обновлением. Я только что установил Zabbix-agent на машину и понял, что он работает неправильно...
Я считаю, grsecurity
что можно заблокировать пользователю возможность видеть все процессы.
решение2
Я бы не стал слишком беспокоиться о рутките. Скорее всего, он даже скроет некоторые процессы для root. Но, должен добавить, что запуск rkhunter
на самом ящике не очень надежен - он мог быть изменен руткитом.
Я никогда не видел этой конкретной проблемы раньше. Вот некоторые возможности:
- Обстановка
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: я немного погуглил. dpkg показывает, что я использую стандартное ядро, и grsecurity, похоже, не установлен. Также /dev/grsec не существует.
Я также остановил apparmor, но проблема все еще та же.
dpkg показывает, что установлен libselinux1, но не пакет selinux...
есть ли другой способ проверить, запущены ли grsecrity и selinux?