学习啦 > 学习电脑 > 操作系统 > Linux教程 > linux记录用户命令

linux记录用户命令

时间: 佳洲1085 分享

linux记录用户命令

  为了安全,linux下我们可以通过相关命令记录下用户操作的命令。那么具体要怎么实现呢?下面由学习啦小编为大家整理了linux记录用户命令的相关知识,希望大家喜欢!

  linux记录用户命令方法一

  修改/etc/profile文件,在最后增加如下内容:

  HISTFILESIZE=2000

  HISTTIMEFORMAT="%Y%m%d-%H%M `whoami` "

  保存文件,退出,输入source /etc/profile,让环境生效,或者退出终端,重新登录也可以。

  查看命令,在终端输入history即可看到历史命令的

  但这里有个问题,因为只是记录了时间与命令,没有记录登录的IP地址,后期的审计也不方便,为防止以上情况,可以在/etc/profile文件中,进行完善,

  linux记录用户命令方法二
把以下两条命令去掉,用新的内容进行填充。

  HISTFILESIZE=2000

  HISTTIMEFORMAT="%Y%m%d-%H%M `whoami` "

  新内容为:

  ### add by lgh2 at 2016-01-06

  #history

  export HISTTIMEFORMAT="[%Y%m%d-%H%M-:%S]"

  USER_IP=`who -u am i 2>/dev/null| awk '{print$NF}'|sed -e 's/[()]//g'`

  HISTDIR=/var/log/.hist

  if [ -z $USER_IP ]

  then

  USER_IP=`hostname`

  fi

  if [ ! -d $HISTDIR ]

  then

  mkdir -p$HISTDIR

  chmod 777$HISTDIR

  fi

  if [ ! -d $HISTDIR/${LOGNAME} ]

  then

  mkdir -p $HISTDIR/${LOGNAME}

  chmod 300$HISTDIR/${LOGNAME}

  fi

  export HISTSIZE=4096

  DT=`date +%Y%m%d_%H%M%S`

  exportHISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT"

  chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null

  ###end by lgh2

  说明:所有操作命令记录存放在/var/log/.hist/{用户}/目录下,即使是同一个终端几个不同的窗口,在该窗口退出或关闭时,该用户目录下会生产一个文件,多个窗口会生产多个文件,最后只要查看这些文件内容,就可以看出历史操作了。

  命令是记录了,但从安全角度讲,如果他清楚,所有操作均记录了的话,是可以进入日志记录目录,进行文件删除或文件修改的,于是需要将这些文件及时传到日志收集服务器中,最好是作一个后台实时监控进程,该目录下有文件变化的话,直接触发同步操作,把文件及时同步到日志收集服务器,网上也有人把所有记录实时通过日志进程syslog,把日志实时发至日志服务器中。

3599691