spu*_*der 32 shell security command-history history
您如何记录某人输入到 shell 中的每个命令?
如果您登录到其他人的服务器并出现故障,或者是否有其他人(有意或恶意地)登录到您的服务器,我会在保护自己的基础上询问。
即使新手也能够分流历史与unset history
或创建一个新的外壳,以隐藏自己的踪迹。
我很好奇高级 linux 管理员如何跟踪已输入的命令/对系统所做的更改。
小智 35
查看auditd。如果添加
-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve
Run Code Online (Sandbox Code Playgroud)
对/etc/audit/audit.rules
每一个执行的命令将被记录。请参阅:https : //whmcr.com/2011/10/14/auditd-logging-all-commands/
然后将其发送到系统日志服务器。
小智 8
您可以使用脚本命令。此命令不包含在 POSIX 中,但您会发现将所有击键以及输出和错误消息存储在文件中很有用。您可以稍后查看该文件。如果您正在做一些重要的工作并希望保留所有活动的日志,则应在登录后立即调用此命令:
$ script
脚本开始,文件是typescript
$ _ 注意这是另一个shell——登录shell的子级
提示返回,您现在在此处输入的所有击键(包括用于退格的击键)都记录在文件“打字稿”中。录制结束后,您可以通过输入exit来终止会话。
注意:如果您输入script filename,会话将存储在文件filename而不是typescript,即如果未指定特定文件名,则默认为 typescript 。
您现在可以使用cat filename或cat typescript,无论情况如何,都可以查看录制的会话。
如果您希望将新会话附加到旧文件,请使用: script -a 将新会话附加到打字稿,此处也适用相同的默认规则
这是系统管理员可以跟踪会话的一种方式。希望它提供了信息和有用的信息。干杯!