我想收集用户执行的所有命令,并且还要root用户linux。我如何每天收集所有命令。
是否可以通过shell脚本收集所有命令?
如果有人知道这个要求,请帮助我。
例如
如果user1执行" ls -l" ,我们需要捕获和root用户执行" df -h",我们需要捕获。我的意思是。所有用户都在bash shell中执行命令,我们需要捕获所有命令。
谢谢
答案 0 :(得分:2)
使用history
是非常糟糕的做法。因为每个人都知道用户可以轻松地清理他们的历史。
对于此类任务,我们使用rootsh
。
答案 1 :(得分:0)
您可以使用返回执行命令的history
命令。
您可以阅读this
我们所有的服务目前都在Linux上运行。在Linux中,有一个非常有用的命令可以显示最近使用过的所有最后一个命令。该命令简称为历史记录,但也可以通过查看主文件夹中的.bash_history来访问该命令。默认情况下,history命令将显示您输入的最后五百个命令。
如果您希望一次查看一页的历史记录,可以使用以下命令。现在,您只需使用空格键一次查看一页或使用向下箭头一次查看一行:
history | less
要查看最后十个命令,您可以使用以下命令:
history | tail
要查看最后25个命令,只需使用以下命令:
history 25
如果您想将历史记录的执行保存在文件中,可以使用this
只需将输出重定向到文件:
history > someFile.txt
或者如果你想追加数据:
history >> someFile.txt
如果你想要stderr也使用它:
history &> someFile.txt
或者要追加:
history &>> someFile.txt