我想监视
我的 Linux 机器上的 3 个用户,假设有 a、b、c。通过使用 last 命令,我可以识别最后登录的用户列表,并通过 w 命令识别谁登录了以及他们在做什么,通过 history 命令可以显示特定用户使用的所有命令。
现在我想编写 shell 脚本来显示每个用户的理想时间、登录次数以及运行了多少命令。
如何做到这一点?监控用户
答案1
所有用户会话启动/停止日志都将记录到/var/log/secure
或/var/log/auth.log
,具体取决于您使用的发行版。您可以轻松解析该文件以识别每个用户的登录/退出时间。
关于报告运行的命令,除非您特别配置某种命令审计,否则 Linux 系统不会记录此信息。
答案2
如上一个回答所述,您可以将 Linux 审计系统与pam_tty_audit
PAM 模块结合使用来审计指定用户。该模块与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