如何通过deluser命令实时追踪并监控用户删除操作?

更新于
2026-08-09 10:09:32
2阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

:实时监控 deluser 的迫切需求

在日常运维中,管理员经常面临以下痛点:

  • 不清楚哪些使用者被误删或恶意删除。
  • 删除操作发生后难还有时发现并回滚。
  • 日志分散、缺乏统一入口,导致审计成本高。
  • 合规检查要求保留完整的使用者变更记录。

针对这些痛点。这篇文章提供一套基于 deluser 命令的实时追踪与监控方案,让你在第一时间捕获、记录并响应使用者删除行为。

如何通过deluser命令实时追踪并监控用户删除操作?

从方法一来看。借助 systemd‑journald 捕获 deluser 调用

systemd‑journald 是程序默认的日志守护进程,能够统一收集所有服务和内核事件。只要开启相应过滤,即可实时看到 deluser 的执行记录。

配置步骤

  1. 启用持久化日志
    # 创建持久化目录
    sudo mkdir -p /var/log/journal
    sudo systemd-tmpfiles --create --prefix /var/log/journal
    sudo systemctl restart systemd-journald
    
  2. 实时查看 deluser 相关日志
    # 持续跟踪并过滤 deluser 关键字
    sudo journalctl -f | grep -i 'deluser'
    
  3. 保存过滤后的日志供后期审计
    # 将结果写入独立文件
    sudo journalctl | grep -i 'deluser'> /var/log/deluser_audit.log
    

从方法二来看。使用 auditd 进行细粒度审计

auditd 能够记录对关键程序文件(如 /etc/passwd,/etc/shadow,/etc/group) 的所有读写操作,是实现合规审计的首选工具。

audit 规则示例

# 监控 passwd、shadow、group 文件的所有访问
sudo auditctl -w /etc/passwd -p warx -k user_deletion
sudo auditctl -w /etc/shadow -p warx -k user_deletion
sudo auditctl -w /etc/group -p warx -k user_deletion
# 可选:专门监控 deluser 命令本身
sudo auditctl -a always,exit -F path=/usr/sbin/deluser -F perm=x -F auid>=1000 -F auid!
=-1 -k deluser_exec

查询审计日志

# 查看最近的使用者删除事件
ausearch -k user_deletion --interpret | tail
# 或者只看 deluser 执行记录
ausearch -k deluser_exec --interpret | less

再看方法三。利用 inotify 实时监控文件程序变化

inotifywait/inotifywatch 能够在文件被修改、移动或删除时立即触发通知,非常适合对敏感文件做“秒级”监控。

监控关键文件示例脚本

#!/bin/bash
# 保存为 /usr/local/bin/watch_user_del.sh 并赋予执行权限
LOG=/var/log/inotify_user_del.log
inotifywait -m /etc/passwd /etc/shadow /etc/group \
-e modify。attrib,close_write,move,delete_self \
--format '%T %w %e %f' --timefmt '%F %T' |
while read TIME DIR EVENT FILE;do
echo "$TIME $DIR $EVENT $FILE">> $LOG
done &

* 将脚本加入程序启动项(如 /etc/rc.local),确保服务器重启后仍然生效。

说到方法四,登录状态变化

last 本身不能直接显示使用者被删除,但可以帮助我们确认:

  • "被删除的账户是否仍有登录痕迹"
  • "是否存在异常登录后紧接着执行了 deluser"
# 查看最近 10 条登录记录,并筛选特定使用者名
last -n 10 | grep 'test_user'

说到方法五,使用 grep+tail 快速定位日志中的 deluser 行为

If you know approximate time window or log file location。a simple pipeline can give you instant feedback.

# 实时追踪 /var/log/auth.log 中出现的 deluser 调用
sudo tail -F /var/log/auth.log | grep --line-buffered 'deluser'

常用方法与运维注意事项

  • 统一日志存储:{systemd‑journald} 与 {auditd} 的日志建议集中转发到 SIEM 或远程日志服务器,以防本地磁盘被攻击者篡改。
  • # 使用 mailx 发邮件提醒 if grep -q 'deluser' <<"$LINE"; n echo "$LINE" | mailx -s "⚠️ DelUser 操作告警" fi

从“痛点”到“方法"

C​ombining systemd‑journald’s ease of use,auditd’s depth。and inotify’s immediacy gives you a multi‑layered defense against unnoticed user deletions. By implementing steps above you’ll turn vague fear of “someone might have deleted a critical account” into a concrete,auditable process—ensuring both security compliance and operational peace of mind.

如何通过deluser命令实时追踪并监控用户删除操作?

标签:CentOS

:实时监控 deluser 的迫切需求

在日常运维中,管理员经常面临以下痛点:

  • 不清楚哪些使用者被误删或恶意删除。
  • 删除操作发生后难还有时发现并回滚。
  • 日志分散、缺乏统一入口,导致审计成本高。
  • 合规检查要求保留完整的使用者变更记录。

针对这些痛点。这篇文章提供一套基于 deluser 命令的实时追踪与监控方案,让你在第一时间捕获、记录并响应使用者删除行为。

如何通过deluser命令实时追踪并监控用户删除操作?

从方法一来看。借助 systemd‑journald 捕获 deluser 调用

systemd‑journald 是程序默认的日志守护进程,能够统一收集所有服务和内核事件。只要开启相应过滤,即可实时看到 deluser 的执行记录。

配置步骤

  1. 启用持久化日志
    # 创建持久化目录
    sudo mkdir -p /var/log/journal
    sudo systemd-tmpfiles --create --prefix /var/log/journal
    sudo systemctl restart systemd-journald
    
  2. 实时查看 deluser 相关日志
    # 持续跟踪并过滤 deluser 关键字
    sudo journalctl -f | grep -i 'deluser'
    
  3. 保存过滤后的日志供后期审计
    # 将结果写入独立文件
    sudo journalctl | grep -i 'deluser'> /var/log/deluser_audit.log
    

从方法二来看。使用 auditd 进行细粒度审计

auditd 能够记录对关键程序文件(如 /etc/passwd,/etc/shadow,/etc/group) 的所有读写操作,是实现合规审计的首选工具。

audit 规则示例

# 监控 passwd、shadow、group 文件的所有访问
sudo auditctl -w /etc/passwd -p warx -k user_deletion
sudo auditctl -w /etc/shadow -p warx -k user_deletion
sudo auditctl -w /etc/group -p warx -k user_deletion
# 可选:专门监控 deluser 命令本身
sudo auditctl -a always,exit -F path=/usr/sbin/deluser -F perm=x -F auid>=1000 -F auid!
=-1 -k deluser_exec

查询审计日志

# 查看最近的使用者删除事件
ausearch -k user_deletion --interpret | tail
# 或者只看 deluser 执行记录
ausearch -k deluser_exec --interpret | less

再看方法三。利用 inotify 实时监控文件程序变化

inotifywait/inotifywatch 能够在文件被修改、移动或删除时立即触发通知,非常适合对敏感文件做“秒级”监控。

监控关键文件示例脚本

#!/bin/bash
# 保存为 /usr/local/bin/watch_user_del.sh 并赋予执行权限
LOG=/var/log/inotify_user_del.log
inotifywait -m /etc/passwd /etc/shadow /etc/group \
-e modify。attrib,close_write,move,delete_self \
--format '%T %w %e %f' --timefmt '%F %T' |
while read TIME DIR EVENT FILE;do
echo "$TIME $DIR $EVENT $FILE">> $LOG
done &

* 将脚本加入程序启动项(如 /etc/rc.local),确保服务器重启后仍然生效。

说到方法四,登录状态变化

last 本身不能直接显示使用者被删除,但可以帮助我们确认:

  • "被删除的账户是否仍有登录痕迹"
  • "是否存在异常登录后紧接着执行了 deluser"
# 查看最近 10 条登录记录,并筛选特定使用者名
last -n 10 | grep 'test_user'

说到方法五,使用 grep+tail 快速定位日志中的 deluser 行为

If you know approximate time window or log file location。a simple pipeline can give you instant feedback.

# 实时追踪 /var/log/auth.log 中出现的 deluser 调用
sudo tail -F /var/log/auth.log | grep --line-buffered 'deluser'

常用方法与运维注意事项

  • 统一日志存储:{systemd‑journald} 与 {auditd} 的日志建议集中转发到 SIEM 或远程日志服务器,以防本地磁盘被攻击者篡改。
  • # 使用 mailx 发邮件提醒 if grep -q 'deluser' <<"$LINE"; n echo "$LINE" | mailx -s "⚠️ DelUser 操作告警" fi

从“痛点”到“方法"

C​ombining systemd‑journald’s ease of use,auditd’s depth。and inotify’s immediacy gives you a multi‑layered defense against unnoticed user deletions. By implementing steps above you’ll turn vague fear of “someone might have deleted a critical account” into a concrete,auditable process—ensuring both security compliance and operational peace of mind.

如何通过deluser命令实时追踪并监控用户删除操作?

标签:CentOS