讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么查看某个用户最近执行过的操作记录

胖瑶酱_9675

胖瑶酱_9675

发布时间:2026-07-25 07:18:00

|

924人浏览过

|

来源于php中文网

原创

真正能查到“谁在何时干了什么”的只有 auditd 的 execve 日志,因为 ~/.bash_history 不完整、不可靠、易被绕过;auditd 记录内核级 execve 调用,含 UID、PID、tty、真实路径和参数,且无法被用户层绕过。

linux怎么查看某个用户最近执行过的操作记录

不能只看 ~/.bash_history,它不完整、不可靠、易被绕过;真正能查到“谁在何时干了什么”的,只有 auditd 的 execve 日志。

为什么直接 cat /home/user/.bash_history 不行

普通用户自己的 .bash_history 文件只存 shell 会话退出时写入的命令,且默认没时间戳;多个终端之间不同步;history -c、HISTFILE=/dev/null、非交互式执行(如 ssh user@host 'rm -f /tmp/*')全都不记录;root 虽能读别人家目录下的该文件,但内容可能已被手动清空或伪造。

  • ~/.bash_history 是用户自己维护的缓存,不是系统审计日志
  • 它不记录 UID、PID、tty、真实路径(比如软链接展开后的真实二进制)、参数内容
  • 同一账号多人共用(如跳板机 ops)时,完全无法区分操作者

用 ausearch 查指定用户的 execve 记录

ausearch 是唯一能从内核 audit 日志中提取真实执行行为的工具,前提是 auditd 已启用并配置了 execve 规则。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 确认服务运行:sudo systemctl status auditd
  • 查用户 john 最近所有命令:sudo ausearch -u john -m execve --raw | aureport -f -i
  • 查某次登录会话(比如 tty2)的操作:sudo ausearch -ts recent -m event --session $(loginctl show-user john -p SessionId | cut -d= -f2)(注意 session ID 需实际获取)
  • 原始日志在 /var/log/audit/audit.log,但别直接 cat——字段密集难读,ausearch 是唯一实用入口

auditctl 规则必须带 arch 参数才生效

x86_64 系统上只写 -S execve 是无效的,auditd 会静默忽略规则;必须显式指定架构,否则日志里根本不会出现对应事件。

  • 正确加载(64 位):sudo auditctl -a always,exit -F arch=b64 -S execve
  • 兼容 32 位程序(如某些容器内命令)需额外加:sudo auditctl -a always,exit -F arch=b32 -S execve
  • -F uid!=0 这类过滤建议去掉——auditd 对 uid 类型判断严格,容易导致整条规则加载失败而漏记全部事件
  • 规则只存在内存中,重启即失效;必须写入 /etc/audit/rules.d/execve.rules 并执行 sudo augenrules --load

没有 auditd 时的临时补救:syslog + PROMPT_COMMAND

仅适用于 bash/zsh 且你有权限改目标用户配置的场景,比如跳板机上无法启 auditd;但它依赖 shell 启动,可被 unset PROMPT_COMMAND 绕过,也不记录非交互式执行。

  • 在用户 ~/.bashrc 中加:export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.info "$(whoami) [$$] $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//") [$RETRN_VAL]"'
  • 配置 rsyslog:echo 'local6.* /var/log/user-commands.log' | sudo tee /etc/rsyslog.d/99-user-cmd.conf,再 sudo systemctl restart rsyslog
  • 日志只含命令行字符串、UID、PID、返回值,不含完整路径、tty 或精确时间戳(依赖 syslog 时间)

真正关键的不是“用户想记什么”,而是“内核记下了什么”;execve 系统调用日志是唯一绕不开内核、无法被用户层屏蔽的证据源。如果 auditd 没开,~/.bash_history 就只是个参考草稿,不是操作记录。

热门AI工具

更多
蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4290

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3613

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2853

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

7030

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6662

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3833

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3325

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3559

2023.07.25

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

40

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn