Chinaunix

标题: 记录用户使用过的指令 [打印本页]

作者: love100    时间: 2011-01-06 14:58
标题: 记录用户使用过的指令
对于Linux系统中,所有用户的操作都想进行详细的记录,有什么好办法吗?
作者: ly5066113    时间: 2011-01-06 15:11
参考:
http://bbs3.chinaunix.net/thread-490573-1-1.html
作者: love100    时间: 2011-01-06 15:18
仅仅对/etc/profile 做文章,我认为不行
如果用户login之后,进行了su user2操作而不进行su -操作的话,/etc/profile将不会起到作用
作者: ly5066113    时间: 2011-01-06 15:27
回复 3# love100


用系统的 history ?
作者: love100    时间: 2011-01-06 15:30
系统的 history 记录的不全吧
作者: ly5066113    时间: 2011-01-06 15:36
会自动删,默认好象是200行。
有参数可以设置,调高一点,然后定时备份一下,不知道行不行。
作者: love100    时间: 2011-01-06 15:37
History不行,研究过了,其他方法有吗
作者: ly5066113    时间: 2011-01-06 15:43
回复 7# love100


没具体研究过,但觉得 /etc/profile 的方法应该可行。
script 记录的终端的输出,用户切换应该不影响。
作者: xiaopan3322    时间: 2011-01-06 15:52
不su的话用history
用su的话用sudo日志
作者: love100    时间: 2011-01-06 16:07
用户如果改变了当前的shell就不会被记录.
作者: L_kernel    时间: 2011-01-06 18:28
用户如果改变了当前的shell就不会被记录.
love100 发表于 2011-01-06 16:07
              histappend
                      If  set,  the history list is appended to the file named
                      by the value of the HISTFILE  variable  when  the  shell
                      exits, rather than overwriting the file.
              histreedit
                      If  set, and readline is being used, a user is given the
                      opportunity to re-edit a failed history substitution.
              histverify
                      If set, and readline is being used, the results of  his-
                      tory  substitution  are  not  immediately  passed to the
                      shell parser.  Instead, the  resulting  line  is  loaded
                      into the readline editing buffer, allowing further modi-
                      fication.

第一个应该可以达到你要求。上面的我们一般不设置的。
  1. $ shopt | grep 'hist'
  2. cmdhist                on
  3. histappend             off
  4. histreedit             off
  5. histverify             off
  6. lithist                off
复制代码
另外,既然如此限制用户,干脆用rbash算了。
作者: welcome008    时间: 2011-01-06 21:50
写一个脚本,用户登录进去后直接调用该脚本,用户所有的操作都在该脚本里运行,然后该脚本对所有操作都tee到一个文件里去
作者: xiaopan3322    时间: 2011-01-06 22:04
回复 11# L_kernel


    学习……
作者: xiaobaibbb    时间: 2011-01-07 00:03
回复 3# love100


    直接su lastcomm能记录到,刚测试过 就算没有 su -
作者: johncan    时间: 2011-01-13 11:40
如果是BASH
升级到BASH 4.1吧
参考博文
syslog记录history历史记录

http://salogs.com/2010/12/syslog ... %E8%AE%B0%E5%BD%95/
作者: zhaoke0128    时间: 2011-01-13 16:01
回复 8# ly5066113


    用户切换不影响记录,只是对于后台脚本执行的操作不进行记录
作者: welcome008    时间: 2011-01-13 16:15
审计

审计

呵呵
作者: Antspirit    时间: 2011-01-14 17:07
vim /etc/profile
在未行加入
export PROMPT_COMMAND='{ date "+[ %Y%m%d %H:%M:%S `whoami` ] `history 1 | { read x cmd; echo "$cmd  from ipSSH_CLIENT   $SSH_TTY";
}`"; }>> /home/history/login.log'

source /etc/profile 生效




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2