服务器登录退出通知脚本配置文档(Debian 12.10)

1. 项目背景

本工具用于监听服务器用户的登录(open_session)和退出(close_session)事件,并通过企业微信机器人接口发送通知,推送包含用户名、来源 IP、时间、主机名等基础信息的消息。


2. 环境要求

  • Debian 12.10 或类似 Linux 发行版
  • 支持 PAM(Pluggable Authentication Modules)
  • 企业微信机器人 Webhook URL
  • bash shell

3. 脚本文件准备

脚本路径(示例):/opt/login-watcher/login-notify.sh


### 脚本内容

!/bin/bash

加载配置

source /opt/login-watcher/config.env

判断登录类型

case "$PAM_TYPE" in
open_session)

EVENT_TYPE="登录"
;;

close_session)

EVENT_TYPE="退出"
;;

*)

exit 0
;;

esac

USER=$PAM_USER
REMOTE_HOST=$PAM_RHOST
LOGIN_TIME=$(date "+%Y-%m-%d %H:%M:%S")
HOSTNAME=$(hostname)
IP=$(hostname -I | awk '{print $1}')

MESSAGE="【服务器${EVENT_TYPE}通知】

Last modification:June 3, 2025
反正也没人会打赏