Linux系统会记录用户登陆系统后执行过的命令;在一定情况下,可以帮助对系统的管理。

配置参数:

HISTTIMEFORMAT = '%F %T ' #日期格式

HISTSIZE = 4000 #保留日志数量

HISTFILE = /var/history #存储文件

缺点:

1、默认的记录用户命令服务,没有记录命令执行的时间。

2、没有记录用户登陆的IP

3、同一个用户的不同会话,记录到同一个文件中;无法根据不同会话分别记录。

优化:

1、每次用户登陆后,根据用户账号、登陆IP和登陆时间确定存储文件名。这样除非同一个用户,同一个IPlinux查看时间命令,同一时刻登陆服务器才会记录到同一个文件中。

2、将上述设置linux查看时间命令,配置为用户登陆后,自动执行

linux查看时间命令_linux版本查看命令_linux操作系统版本查看命令

3、将日志写入一个隐藏目录中。

脚本内容:

USER_IP=`who -u am i 2>/dev/null |awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/usr/share/.history
if [ -z ${USER_IP} ]
then
local 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}.history.${DT}"
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
chmod 600 ${HISTDIR}/${LOGNAME}/*.history* 2>/dev/null

将脚本放在/etc/profile.d/history.sh中。

限时特惠:本站每日持续更新海量展厅资源,一年会员只需29.9元,全站资源免费下载
站长微信:zhanting688