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

如何修改sudo通过mail_badpass发送的邮件文本与主题?

如何修改sudo通过mail_badpass发送的邮件文本与主题?

当然可以!完全不用重新编译sudo就能搞定这个需求,咱们通过自定义邮件发送脚本来实现对邮件主题和内容的完全控制,具体步骤如下:

  • 第一步:安全编辑sudo配置文件
    千万别直接编辑/etc/sudoers文件,建议用visudo命令打开它——这个工具会自动检查语法错误,避免你因为配置写错而被锁在sudo权限外面。

  • 第二步:指定自定义邮件脚本路径
    在sudoers文件里添加或修改以下配置项:

    # 开启错误密码邮件提醒(Debian12默认已开启,确保存在即可)
    Defaults mail_badpass
    # 指定咱们自己写的邮件脚本路径
    Defaults mailerpath=/usr/local/bin/sudo-custom-mail.sh
    # 清空默认的邮件程序参数,因为自定义脚本用不上
    Defaults mailerflags=""
    
  • 第三步:编写自定义邮件脚本
    创建/usr/local/bin/sudo-custom-mail.sh脚本,你可以在里面自由定制邮件的主题和内容,比如参考下面的例子:

    #!/bin/bash
    # 自定义sudo错误密码提醒邮件脚本
    # sudo会把收件人地址作为第一个参数传给脚本
    RECIPIENT="$1"
    
    # 这里改成你想要的邮件主题
    SUBJECT="⚠️ SUDO安全提醒:错误密码尝试(由sudo生成)"
    
    # 这里自由编辑邮件内容,sudo会自动设置好相关环境变量供咱们使用
    BODY="以下是sudo错误密码尝试的详细信息:
    尝试使用sudo的用户:$SUDO_USER
    发生时间:$(date "+%Y-%m-%d %H:%M:%S")
    主机名称:$(hostname)
    用户尝试执行的命令:$SUDO_COMMAND"
    
    # 用mail命令发送邮件,也可以换成sendmail
    echo "$BODY" | mail -s "$SUBJECT" "$RECIPIENT"
    
  • 第四步:给脚本添加执行权限
    最后执行这条命令,让脚本可以正常运行:

    chmod +x /usr/local/bin/sudo-custom-mail.sh
    

这样设置完成后,下次有人用sudo输错密码时,就会收到你完全自定义过主题和内容的邮件啦~

备注:内容来源于stack exchange,提问作者BeBuschka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 14:24:28