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