You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Maldetect在暂停cPanel账户时发送通知邮件?

实现Maldetect暂停cPanel账户时自动发送通知邮件

嘿,这个需求完全可以搞定!Maldetect本身没有直接内置向被暂停用户发通知的功能,但我们可以通过配置钩子脚本的方式来实现,步骤很清晰:

1. 确认Maldetect的自动暂停功能已开启

首先检查Maldetect的配置文件,确保它会在检测到恶意文件时自动暂停对应cPanel账户:
编辑/usr/local/maldetect/conf.maldet,找到以下配置项并设置为1:

quarantine_suspend_user="1"

2. 创建自定义通知脚本

我们需要写一个bash脚本,让Maldetect在暂停用户时触发它,发送通知邮件。

创建脚本文件/usr/local/maldetect/suspend_notify.sh,内容如下:

#!/bin/bash

# 接收Maldetect传递的参数:$1是用户名,$2是动作(如suspend)
USER="$1"
ACTION="$2"

# 仅处理账户暂停的动作
if [ "$ACTION" != "suspend" ]; then
    exit 0
fi

# 获取用户的cPanel联系邮箱(通过uapi命令)
USER_EMAIL=$(uapi --user="$USER" ContactInformation get_contact_info | grep -E 'email: ' | awk '{print $2}')

# 如果没获取到用户邮箱, fallback到管理员邮箱
if [ -z "$USER_EMAIL" ]; then
    USER_EMAIL="admin@yourdomain.com"
fi

# 构建邮件内容
SUBJECT="您的cPanel账户已被暂时暂停 - 安全预警"
BODY="您好,

我们的服务器安全系统(Maldetect)在您的账户目录中检测到恶意文件,为了防止恶意程序扩散、保护服务器及其他用户的安全,您的账户已被暂时暂停。

请您尽快联系服务器管理员,提供您的账户信息以核实情况,我们会协助您清理恶意文件并恢复账户访问。

感谢您的理解与配合!

服务器管理团队"

# 发送邮件(使用sendmail,也可以根据服务器环境调整为postfix或其他邮件工具)
echo -e "$BODY" | sendmail -f "admin@yourdomain.com" -t "$USER_EMAIL" -s "$SUBJECT"

3. 配置脚本权限与Maldetect钩子

给脚本设置合适的权限,确保Maldetect能执行它:

chown root:root /usr/local/maldetect/suspend_notify.sh
chmod 700 /usr/local/maldetect/suspend_notify.sh

然后回到Maldetect的配置文件/usr/local/maldetect/conf.maldet,找到quarantine_hook项,设置为我们刚创建的脚本路径:

quarantine_hook="/usr/local/maldetect/suspend_notify.sh"

4. 测试验证

可以手动触发脚本测试邮件发送是否正常:

/usr/local/maldetect/suspend_notify.sh 你的测试用户名 suspend

检查对应邮箱是否收到通知邮件,确认没问题后,Maldetect下次自动暂停账户时就会自动触发这个脚本发送通知了。

注意:如果服务器邮件发送有问题,可能需要先配置好sendmail/postfix服务,或者改用cPanel自带的邮件发送接口来确保通知能正常送达。

内容的提问来源于stack exchange,提问作者Amruta Gaikwad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:39:44