Linux如何查询用户操作日志
- Linux
- 2025-06-20
- 7
在Linux系统中,查看用户操作记录是系统管理和安全审计的关键任务,无论是排查故障、监控异常行为,还是满足合规要求,管理员都需要掌握多种方法,以下是详细的操作指南,涵盖常用命令、日志文件及高级审计工具,所有操作均需root权限(使用sudo或切换root用户)。
查看单个用户的命令历史(history)
适用场景:追溯某用户执行的命令。
实现方法:
-
直接查看当前用户的命令历史:
history输出示例:
1024 cd /var/log 1025 cat syslog 1026 sudo reboot -
查看其他用户的命令历史:
每个用户的命令记录存储在~/.bash_history文件中:
sudo cat /home/username/.bash_history注意:
- 默认仅存储最近1000条命令(由HISTSIZE环境变量控制)。
- 用户可能清空记录(history -c),或禁用历史记录(设置HISTFILE=/dev/null)。
查看用户登录记录(last命令)
适用场景:审计用户登录/登出时间及来源IP。
命令示例:
last
输出示例:
user1 pts/0 192.168.1.100 Mon Oct 10 09:15 - 12:30 (03:15) root tty1 Mon Oct 10 08:00 still logged in
关键参数:

- last -x:显示关机/重启记录。
- last -i:显示IP地址(替代主机名)。
- last username:仅查看指定用户的记录。
数据来源:/var/log/wtmp(二进制文件,不可直接编辑)。
分析系统日志文件
系统日志是用户操作的权威记录,主要文件如下:
认证日志(用户登录/授权)
- Ubuntu/Debian:/var/log/auth.log
- CentOS/RHEL:/var/log/secure
查看示例:
sudo grep "user1" /var/log/auth.log Oct 10 09:15:00 server sshd[1234]: Accepted password for user1 from 192.168.1.100 port 54322 Oct 10 12:30:00 server sudo: user1 : TTY=pts/0 ; COMMAND=/sbin/reboot
系统日志(syslog)
路径:/var/log/syslog 或 /var/log/messages
用途:记录所有系统级事件,包括用户通过sudo执行的命令。
sudo grep "COMMAND" /var/log/syslog
高级审计工具(auditd)
适用场景:实时监控特定用户或文件的操作,满足企业级安全审计需求。
安装与启动
sudo apt install auditd # Debian/Ubuntu sudo yum install audit # CentOS/RHEL sudo systemctl start auditd && sudo systemctl enable auditd
监控指定用户的所有操作
sudo auditctl -a exit,always -F arch=b64 -F auid=1000 -S execve
- -F auid=1000:监控用户ID为1000的用户(通过id -u username获取UID)。
- -S execve:记录执行的命令。
查看审计日志
sudo ausearch -ua 1000 -i # 按用户ID查询(-i显示可读信息) sudo aureport -x --summary # 生成可执行命令报告
日志路径:/var/log/audit/audit.log

永久监控配置
编辑/etc/audit/rules.d/audit.rules,添加:
-a always,exit -F arch=b64 -F auid=1000 -S execve
重启服务:sudo systemctl restart auditd
其他工具补充
-
acct(进程统计工具)
安装:sudo apt install acct
查看命令记录:
sudo lastcomm -u user1 # 显示user1执行过的命令 -
who 和 w
- who:当前登录用户列表。
- w:当前登录用户及正在执行的命令。
总结与建议
- 基础排查:优先使用history和last,快速获取命令和登录历史。
- 安全审计:依赖系统日志(/var/log/auth.log或/var/log/secure)。
- 合规要求:部署auditd实现精细化监控。
- 注意事项:
- 日志可能被轮转(如logrotate),长期记录需配置归档。
- 敏感操作建议结合多工具验证(如auditd+系统日志)。
- 定期备份日志,防止恶意改动。
引用说明: 参考Linux官方文档(kernel.org)、auditd手册页(auditd.org)及Red Hat系统管理指南,实践命令基于Ubuntu 22.04和CentOS 9环境验证。
