我有linux (debian)盒,运行良好。然而,我有问题,我需要找出什么程序是发送电子邮件时,我使用“邮件”命令。或者,当PHP脚本发送带有mail()函数的电子邮件时,我需要知道是哪个程序发送了这些电子邮件。
我怎么知道呢?
Ps:为了清除,我想知道当我(或一个程序)使用"mail“命令时会调用哪个程序。
我的服务器上安装了2-3个MTA,但我不知道哪个MTA负责发送邮件。
发布于 2012-10-03 23:28:19
你要问的是怎么做
dpkg -S /path/to/mail
使用which mail可以找到/ path /to/mail/,只要mail在您的路径中。
次要注意事项:
还可以使用sendmail而不是mail发送邮件。
你应该做的是:
查看您的邮件日志,可能是/var/log/maillog或/var/log/mail.log --守护进程名称应该在那里。
发布于 2017-01-30 00:33:26
这个问题类似于如何找到我的服务器上的哪个脚本正在发送垃圾邮件?,但由于它不再允许回答(标记为重复),我在这里回答它是为了提供一些见解。
通过添加这两行更改文件/etc/php.ini或/etc/php5/apache/php.ini:mail.add_x_header = On mail.log = /var/log/phpmail.log
重新启动php5 or php5-fpm service and nginx/apache服务,然后检查/var/log/phpmail.log文件,看看哪个脚本有触发错误,并删除它们!
下面是非常具体的范围(我的解决方案没有解决其他场景):
我在一个VPS中运行Ubuntu并安装了nginx, php5-fpm, and wordpress,并且它被黑了,我很确定它是WP被黑了,垃圾邮件代码被注入了。
我尝试修复以下操作;例如使用Linux恶意程序检测器;重置所有数据库连接凭据;以及简单地浏览以删除恶意代码。
我采取的一些行动是:
源代码:
1346.php等。eval的所有文件,以看到任何恶意php文件。完成这些操作后,我还将删除除目录:chmod -x+X -R *以外的所有文件的执行权限,或者在此处引用:删除文件中的执行权限而不接触文件夹。
但是,我仍然在我的/var/log/mail.err和/varlog/syslog中看到许多错误,因为我没有配置sendmail或postfix (您可以停止这样的服务来公开垃圾邮件错误):
postfix/sendmail[2422]: fatal: open /etc/postfix/main.cf: No such file or directory
不过,我还是不知道垃圾邮件的剧本在哪里.困在这里..。
在搜索了几个小时之后,我发现了上面提到的解决方案,在php.ini中配置邮件设置并公开脚本的位置。
删除这些脚本后,我没有发现更多的垃圾邮件错误,到目前为止,我的服务器看起来很干净。
尽管如许多人所建议的那样,您应该将这样的服务器脱机,重新映像或重置到以前的状态,等等。
参考链接:
https://blog.rimuhosting.com/2012/09/20/finding-spam-sending-scripts-on-your-server/
发布于 2012-10-04 09:40:18
strace将公开您的代码的行为--无论它是在执行程序,还是在与邮件服务器建立TCP连接。
https://serverfault.com/questions/434641
复制相似问题