root用户登录邮件通知管理员的shell脚本
时间: 2023-06-30 15:07:17 浏览: 56
以下是一个root用户登录邮件通知管理员的shell脚本:
```bash
#!/bin/bash
# 设置管理员的电子邮件地址
ADMIN_EMAIL="admin@example.com"
# 获取当前登录用户
CURRENT_USER=$(whoami)
# 检查是否是root用户
if [ "$CURRENT_USER" == "root" ]; then
# 获取登录IP地址
IP_ADDRESS=$(echo $SSH_CONNECTION | awk '{print $1}')
# 获取当前时间
DATE_TIME=$(date +"%Y-%m-%d %T")
# 组装邮件内容
SUBJECT="Root user logged in at $DATE_TIME from $IP_ADDRESS"
BODY="The root user has logged in to the server at $DATE_TIME from the following IP address: $IP_ADDRESS"
# 发送邮件
echo "$BODY" | mail -s "$SUBJECT" "$ADMIN_EMAIL"
fi
```
这个脚本会在root用户登录时自动执行,获取登录IP地址和当前时间,并将这些信息包含在邮件中发送给管理员。你需要将`ADMIN_EMAIL`变量设置为管理员的电子邮件地址,以确保邮件能够成功发送。你可以将此脚本添加到root用户的`.bashrc`文件中,以确保每次root用户登录都会发送电子邮件通知。