当前位置: 技术问答>linux和unix
求助:如何实时记录用户的命令行命令?谢谢
来源: 互联网 发布时间:2016-03-28
本文导语: 我现在想实时记录下不同终端登录的用户的命令行历史记录,我知道有一个直接的命令history,但是该命令也可以通过history -c来删除历史记录。 我想实现一个函数或者shell脚本,每当用户运行一条命令就记录下一条命...
我现在想实时记录下不同终端登录的用户的命令行历史记录,我知道有一个直接的命令history,但是该命令也可以通过history -c来删除历史记录。
我想实现一个函数或者shell脚本,每当用户运行一条命令就记录下一条命令,具体该如何做?请高手讲讲原理好吗?
我在cdsn上看到有人说用
“如果要实时监控命令,可以写个脚本把所有登录shell fork 的命令记下来。”
具体是如何实现的?有高手了解吗?谢谢
我想到了使用linux内核劫持系统调用SYS_fork的方法,这样是否可行?是否是太麻烦了?谢谢
我想实现一个函数或者shell脚本,每当用户运行一条命令就记录下一条命令,具体该如何做?请高手讲讲原理好吗?
我在cdsn上看到有人说用
“如果要实时监控命令,可以写个脚本把所有登录shell fork 的命令记下来。”
具体是如何实现的?有高手了解吗?谢谢
我想到了使用linux内核劫持系统调用SYS_fork的方法,这样是否可行?是否是太麻烦了?谢谢
|
貌似不需要自己来写吧,linux提供这样的机制(主要用作审计);你只需要开启就可以了!
# touch /var/log/cmdlog
# accton /var/log/cmdlog (开启记账功能)
然后你可以用 # sa /var/log/cmdlog 查看记录的信息
# touch /var/log/cmdlog
# accton /var/log/cmdlog (开启记账功能)
然后你可以用 # sa /var/log/cmdlog 查看记录的信息
|
试了下,好像不行。