在 Linux 中记录“人员”活动

Ash*_*ema 11 linux ssh bash logging

因此,我阅读了许多与此相关的帖子,并且比以前更加困惑。建议使用各种工具,包括 ttyrec、sno​​opy、acct、rootsh、sudosh、ttyrpld、unix 审计等。

就我而言,我希望能够记录系统上执行的所有命令(例如启用时间戳的历史记录),但我也想知道谁做了什么?但是,我们都通过 ssh 登录到同一个用户帐户的小子集(取决于我们在做什么)。如何获取命令日志,包括“谁”将给我的信息(关于连接),以便我可以将操作追踪到特定的人,作为对普通“用户”的摆姿势?

Der*_*rfK 9

auditd包是为此而设计的,您可以使用 PAM 为每个登录分配一个会话 ID,以便您可以将帐户上的活动跟踪回原始登录(然后检查登录日志以确定该人从何处登录),并使用ausearch用于定位您感兴趣的事件的命令。您可以在此处阅读非常全面的指南但需要更改一些更精细的细节以匹配您的发行版。红帽有一个常见问题和其他一些文档网站在这里

由于这不依赖于尝试记录输入到 shell 中的命令或记录用户的命令历史记录,它应该记录诸如打开 vi(这可能通过 X 或 in 完成screen)、编写脚本(可能是一个字符)之类的事情。使用 vi 的剪切/粘贴命令和几次运行:.!/usr/games/fortune以获取一些您可能无法记录的源数据),然后运行该:%!/bin/bash命令。