CentOS 用户监控
介绍
在CentOS系统中,用户监控是系统管理的重要组成部分。通过监控用户活动,管理员可以确保系统的安全性,防止未经授权的访问,并合理分配系统资源。本文将介绍如何在CentOS系统中监控用户活动,包括查看当前登录用户、跟踪用户命令历史、以及使用工具进行实时监控。
查看当前登录用户
要查看当前登录到系统的用户,可以使用 who
或 w
命令。
使用 who
命令
who
命令显示当前登录的用户信息,包括用户名、终端、登录时间和IP地址。
who
输出示例:
root pts/0 2023-10-01 10:00 (192.168.1.100)
user1 pts/1 2023-10-01 10:05 (192.168.1.101)
使用 w
命令
w
命令不仅显示当前登录的用户,还显示他们正在执行的命令和系统负载。
w
输出示例:
10:10:01 up 1:00, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.1.100 10:00 0.00s 0.10s 0.00s w
user1 pts/1 192.168.1.101 10:05 5.00s 0.05s 0.00s bash
跟踪用户命令历史
每个用户执行的命令历史记录存储在 ~/.bash_history
文件中。管理员可以通过查看该文件来了解用户执行过的命令。
查看特定用户的命令历史
sudo cat /home/user1/.bash_history
输出示例:
ls
cd /var/log
tail -f syslog
注意:~/.bash_history
文件只记录用户退出会话时保存的命令。如果用户会话未正常退出,部分命令可能不会保存。
使用 last
命令查看登录历史
last
命令显示系统的登录历史记录,包括登录时间、注销时间和登录IP地址。
last
输出示例:
root pts/0 192.168.1.100 Sun Oct 1 10:00 still logged in
user1 pts/1 192.168.1.101 Sun Oct 1 10:05 - 10:10 (00:05)
实时监控用户活动
使用 watch
命令
watch
命令可以定期执行指定的命令,并实时显示输出。例如,可以每2秒刷新一次 w
命令的输出。
watch -n 2 w
输出示例:
Every 2.0s: w
10:15:01 up 1:05, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.1.100 10:00 0.00s 0.10s 0.00s w
user1 pts/1 192.168.1.101 10:05 5.00s 0.05s 0.00s bash
使用 auditd
进行高级监控
auditd
是Linux的审计工具,可以记录系统上的各种事件,包括用户登录、文件访问等。
安装 auditd
sudo yum install audit
启动并启用 auditd
sudo systemctl start auditd
sudo systemctl enable auditd
配置审计规则
例如,监控 /etc/passwd
文件的访问:
sudo auditctl -w /etc/passwd -p rwxa -k passwd_access
查看审计日志
sudo ausearch -k passwd_access
输出示例:
time->Sun Oct 1 10:20:01 2023
type=SYSCALL msg=audit(1696155601.123:456): arch=c000003e syscall=2 success=yes exit=3 a0=7ffd8b8b8b8b a1=0 a2=1 a3=7ffd8b8b8b8b items=1 ppid=1234 pid=5678 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="cat" exe="/usr/bin/cat" key="passwd_access"
实际案例
案例1:监控可疑用户活动
假设管理员发现系统中有可疑的登录活动,可以使用 last
命令查看登录历史,并使用 auditd
监控该用户的活动。
last | grep suspicious_user
sudo ausearch -k suspicious_user_activity
案例2:实时监控系统负载和用户活动
管理员可以使用 watch
命令实时监控系统负载和用户活动,确保系统资源合理分配。
watch -n 2 "w; uptime"
总结
通过本文,您已经学习了如何在CentOS系统中监控用户活动。从查看当前登录用户、跟踪命令历史,到使用 auditd
进行高级监控,这些工具和技术可以帮助您确保系统的安全性和资源的合理分配。
附加资源
练习
- 使用
who
和w
命令查看当前登录用户,并比较两者的输出差异。 - 配置
auditd
监控/etc/shadow
文件的访问,并查看审计日志。 - 使用
watch
命令实时监控系统负载和用户活动,观察系统资源的使用情况。
通过完成这些练习,您将更深入地理解CentOS用户监控的实际应用。