Linux记录操作日志

history命令可以查看最近1000条命令。
调整history命令的大小:

vi /etc/profile
HISTSIZE=1000  #改为
history日志文件默认是保存在.bash_history文件下。


history命令默认是没有时间的,可以在/etc/bashrc文件下追加以下:

HISTFILESIZE=2000     
HISTSIZE=2000 
HISTTIMEFORMAT="%Y/%m/%d  %H:%M:%S:" 
export HISTTIMEFORMAT


记录每个用户登录一直到退出操作的命令,保存在/var/log/history目录下:
在/etc/profile文件下追加以下内容:
 第一个脚本:(带时间戳)

USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/var/log/.history
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=4000
DT=`date +%Y-%m-%d_%H:%M:%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}_$DT"
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S]"
chmod 600 $HISTDIR/${LOGNAME}/*_* 2>/dev/null



 第二个脚本:(不带时间戳)

#history

USER=`whoami`

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

if [ "$USER_IP" = "" ]; then

USER_IP=`hostname`

fi

if [ ! -d /var/log/history ]; then

mkdir /var/log/history

chmod 777 /var/log/history

fi

if [ ! -d /var/log/history/${LOGNAME} ]; then

mkdir /var/log/history/${LOGNAME}

chmod 300 /var/log/history/${LOGNAME}

fi

export HISTSIZE=4096

DT=`date +%F"/%H:%M:%S"`

export HISTFILE="/var/log/history/${LOGNAME}/${USER_IP}_$DT"

chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null


 

异常登陆的情况:

who    #查看当前在线的用户
w        #查看当前在线的用户
cat /var/log/secure    #查看可疑登录ip
last -f /var/log/wtmp   #查看登录的ip

 

你可能感兴趣的:(linux)