我正在运行一个Web服务器(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用户实际上有数百个这样的进程。 我正在从以下方式从哪个目录search进程:
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
有人可以请协助如何阻止从本地客户的帐户在Web服务器上运行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 [~]#
更改权限或在httpd上设置ACL将是最简单的方法。
您将要删除读取权限,而不仅仅是执行权限。 只是因为某些东西的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 hostname
tuttle @ mrdo:/ tmp / foo $ ./hostname
bash:./hostname:权限被拒绝
tuttle @ mrdo:/ tmp / foo $ /lib/ld-linux-x86-64.so.2 ./hostname
mrdo