如何通过 shell 脚本监控用户报告

如何通过 shell 脚本监控用户报告

我想监视
我的 Linux 机器上的 3 个用户,假设有 a、b、c。通过使用 last 命令,我可以识别最后登录的用户列表,并通过 w 命令识别谁登录了以及他们在做什么,通过 history 命令可以显示特定用户使用的所有命令。

现在我想编写 shell 脚本来显示每个用户的理想时间、登录次数以及运行了多少命令。

如何做到这一点?监控用户

答案1

所有用户会话启动/停止日志都将记录到/var/log/secure/var/log/auth.log,具体取决于您使用的发行版。您可以轻松解析该文件以识别每个用户的登录/退出时间。

关于报告运行的命令,除非您特别配置某种命令审计,否则 Linux 系统不会记录此信息。

答案2

如上一个回答所述,您可以将 Linux 审计系统与pam_tty_auditPAM 模块结合使用来审计指定用户。该模块与auditd守护进程一起工作,因此请确保在配置模块之前已启用它。该模块将用户进行的精确击键记录到文件中/var/log/audit/audit.log。默认情况下,当 TTY 处于密码输入模式时,它不会记录击键。

/etc/pam.d/password-auth假设您正在 RHEL6 上运行,则应在和/etc/pam.d/session-auth文件中通过添加以下节来配置模块:

session required pam_tty_audit.so disable=* enable=a,b,c

然后您可以read使用报告工具审核日志文件aureport

aureport --tty -ts today
aureport --tty

相关内容