从客户账户启动 httpd

从客户账户启动 httpd

我正在运行一个 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。我正在按以下方式搜索该进程从哪个目录启动:

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 [~]# 

答案1

更改权限或在 httpd 上设置 ACL 是最简单的方法。

答案2

您需要删除读取权限,而不仅仅是执行权限。仅仅因为某些东西是 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$./主机名

bash:./hostname:权限被拒绝

tuttle@mrdo:/tmp/foo$ /lib/ld-linux-x86-64.so.2./主机名

姆尔多

相关内容