免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3585 | 回复: 3
打印 上一主题 下一主题

请教有没方法记录所有用户的命令行历史记录,包括参数,执行结果,时间,用户名等... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-21 17:37 |只看该作者 |倒序浏览
acct和audit貌似都不可以,有其他的方法吗

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2009-01-22 10:34 |只看该作者
脚本可以实现。我写过,但不方便公开。

论坛徽章:
0
3 [报告]
发表于 2009-01-22 10:49 |只看该作者
能否提示一下使用了什么方法,我的想法是在命令交由shell解释之前由我的脚本先处理,然后再交给shell,能否mail我:    oilz@163.com

论坛徽章:
0
4 [报告]
发表于 2009-01-22 16:59 |只看该作者
多谢,不过觉得这个方法还是比较没有效率,用户太多的话会启动很多进程\r\n\r\n还是有几个问题,进程如果被kill -9杀掉,运行标志不会被清除,不知道为什么,kill可以,貌似9信号捕捉不到\r\n没有使用HISTFILE变量,那样会导致set -o vi后,esc+k的结果输出时间\r\n\r\n所以实现方法改为,刷新.sh_history到另外一个文件,再加入时间戳\r\n\r\nroot@f80:[/tmp]#cat timeinsert \r\ntrap \"do_exit\" 1 2 3 9 15\r\n\r\ndo_exit()\r\n{\r\n  rm /tmp/$LOGNAME/timeinsert.flag\r\n  exit 0\r\n}\r\n\r\n>/tmp/$LOGNAME/timeinsert.flag\r\nwhile [ 1 = 1 ]\r\ndo\r\necho `date` >> $my_HISTFILE\r\nsleep 3\r\ndone\r\nroot@f80:[/tmp]#cat sh_sync\r\ntrap \"do_exit\" 1 2 3 9 15\r\n\r\ndo_exit()\r\n{\r\n  rm /tmp/$LOGNAME/sh_sync.flag\r\n  exit 0\r\n}\r\n\r\n>/tmp/$LOGNAME/sh_sync.flag\r\ntail -f ~/.sh_history >> $my_HISTFILE\r\nroot@f80:[/tmp]#tail -20 /etc/profile\r\ncd /tmp\r\nif [ ! -d $LOGNAME ];then\r\nmkdir $LOGNAME\r\nfi\r\nmy_HISTFILE=/tmp/$LOGNAME/sh.out\r\nexport my_HISTFILE\r\n\r\nif [ ! -f /tmp/$LOGNAME/timeinsert.flag ];then\r\nnohup /tmp/timeinsert & \r\nfi\r\nif [ ! -f /tmp/$LOGNAME/sh_sync.flag ];then\r\nnohup /tmp/sh_sync & \r\nfi
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP