节后回来第一件事就是查细节问题。
其他一WebServer 报错
expire: not found
expire: not found
expire: not found
一秒钟几十个的冒。。。那个汗啊
首先想到 expire 模块问题。。。为了不影响业务耐着 等到晚上处理,干脆性的直接注释掉 expire 模块。 重启apache 【环境基于 FreeBSD7.2 apache2.2 php mysql】
结果发现并没有解决问题。
很偶然的ps  抓出一条:
web--- 66097 0.0 0.0 5152 1344 ?? D 9:59AM 0:00.00 sh -c cd '/data1/wwwroot/my.7k7k.com' ; expire
=web用户在执行 expire 命令? 本能的想到有人恶意破坏=
奇怪的将命令直接执行   也是报错 “: expire: command not found”
心稍微放下,expire--至少不能执行的命令。 再抓日志 看监控 都没发现破坏迹象。  
程序 webshell 带有这命令? 将网站文件全抓了遍  并没发现相关语句。
 
自己写个小测试脚本: 
test.php 
<?php
shell_exec('cd /data1/wwwroot/ ; expiress');
?>
 
error_log |grep expiress 
  expiress: not found
有点启发了  可以确定应该是程序中哪儿的问题。
再分析首先出现“expire: not found” 的时间 2010.2.22 0:46分
第二天上班问程序,果然在那时间程序有过改动,检查发现 其中以小段代码
==========================================
'ffriendlist' => array('key'=>'ffriendlist',`expire`=>1800)
==========================================
 
本应该是 '' 写成了 `` 结果引号内东东变成执行了。。。
PHP 的漏洞?