返回

巧用Bash脚本监控新用户创建

见解分享

在Linux系统中,跟踪新用户创建信息是必要的,尤其是当您希望保持系统安全并防止未经授权的访问时。幸运的是,您可以使用Bash脚本来实现这个目的,并通过电子邮件发送详细通知。

前提条件

  • 运行Linux系统的服务器或计算机。
  • 有权访问命令行的用户帐户。
  • 已安装sendmail或其他邮件发送工具。

步骤 1:创建 Bash 脚本

  1. 打开终端或命令行界面。
  2. 使用文本编辑器(如nano或vim)创建一个新的Bash脚本文件,命名为“newuser_monitor.sh”。
  3. 在脚本文件中输入以下内容:
#!/bin/bash

# 脚本开始
# 定义要监视的用户帐户文件
user_file="/etc/passwd"

# 定义要发送电子邮件的收件人地址
recipient="example@domain.com"

# 获取系统上所有用户列表
users=$(cut -d: -f1 $user_file)

# 遍历用户列表,查找新创建的用户
for user in $users; do
    # 检查用户是否在创建用户列表中
    if grep -q "^$user:" /tmp/created_users.txt; then
        # 用户已存在,跳过
        continue
    else
        # 用户不存在,将其添加到创建用户列表
        echo "$user" >> /tmp/created_users.txt

        # 通过电子邮件发送新用户创建通知
        echo "新用户 $user 已创建于 $(date)" | mail -s "新用户创建通知" $recipient
    fi
done

# 脚本结束

步骤 2:确保脚本可执行

  1. 使脚本可执行:
chmod +x newuser_monitor.sh
  1. 将脚本移动到一个合适的目录,如/usr/local/bin或/opt/scripts。

步骤 3:设置邮件发送工具

确保已在系统上安装并配置了邮件发送工具,如sendmail或postfix。您可能需要编辑相应的配置文件以指定正确的SMTP服务器和端口。

步骤 4:创建“创建用户列表”文件

在/tmp目录下创建一个名为“created_users.txt”的文件,以便脚本可以将新创建的用户添加到该文件中。

步骤 5:运行脚本

  1. 打开终端或命令行界面。
  2. 导航到包含脚本的目录。
  3. 运行脚本:
./newuser_monitor.sh

步骤 6:测试脚本

创建一个新用户来测试脚本是否正常工作。您应该会在指定的电子邮件地址收到有关新用户创建的通知。

总结

您已成功创建了一个Bash脚本,可以监控Linux系统上新用户创建的信息并通过电子邮件发送详细通知。这个脚本可以帮助您跟踪系统上用户创建的情况,并及时发现任何异常或未经授权的访问行为。