Я использую веб-сервер (apache, mysql, php, cpanel), и я столкнулся с проблемой, что некоторые пользователи запускают httpd-сервер из своих учетных записей. Это вызывает огромную перегрузку.
Часть ps auxf
команда:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
infor8 30135 0.0 0.0 28996 3372 ? SN 08:42 0:00 /usr/sbin/httpd
infor8 30136 0.0 0.0 28996 3440 ? SN 08:42 0:00 /usr/sbin/httpd
infor8 30137 0.0 0.0 28996 3364 ? SN 08:42 0:00 /usr/sbin/httpd
Таких процессов на самом деле сотни. infor8
пользователь. Я ищу, из какого каталога был запущен процесс, следующим образом:
lsof -p 30135
perl 25631 infor8 cwd DIR 8,3 4096 76735848 /home/infor8/public_html
perl 25631 infor8 rtd DIR 8,3 4096 2 /
perl 25631 infor8 txt REG 8,3 1184862 42976810 /usr/local/bin/perl
perl 25631 infor8 mem REG 8,3 23736 63414584 /lib64/libnss_dns-2.5.so
С помощью сканера вредоносных программ maldet я нашел (и удалил) множество файлов, например:
{HEX}php.sessmasq.renata.519 : ./images/a96b6.php
{HEX}php.sessmasq.renata.519 : ./images/7fec3.php
{HEX}php.sessmasq.renata.519 : ./images/b1d10.php
Может ли кто-нибудь помочь, как заблокировать запуск apache локально из учетных записей клиентов на веб-сервере?
Спасибо за любую помощь.
Обновить:
Разрешения для httpd:
root@server [~]# which /usr/sbin/httpd
/usr/sbin/httpd
root@server [~]# ll /usr/sbin/httpd
lrwxrwxrwx 1 root root 31 Jul 15 2008 /usr/sbin/httpd -> /usr/local/apache/bin/apachectl*
root@server [~]# ll /usr/local/apache/bin/apachectl
-rwxr-xr-x 1 root root 2971 Sep 9 2009 /usr/local/apache/bin/apachectl*
root@server [~]#
Изменение разрешений или установка ACL на httpd было бы самым простым способом.
Вы захотите удалить разрешение на чтение, а не только на выполнение. Просто потому, что что-то chmod -x, не означает, что вы не можете его запустить - пример:
tuttle @ mrdo: / tmp / foo $ ls
имя хоста
tuttle @ mrdo: / tmp / foo $ ls -l
всего 16
-rw-r - r-- 1 tuttle tuttle 14688 2011-06-09 17:05 имя хоста
tuttle @ mrdo: / tmp / foo $ ./hostname
bash: ./hostname: В доступе отказано
tuttle @ mrdo: / tmp / foo $ /lib/ld-linux-x86-64.so.2 ./hostname
MRDO