服务器登录退出通知脚本配置文档(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}通知】