Linux运维之路


历史命令history记录功能

admin 2019-07-19 296浏览 0条评论
首页/正文
分享到: / / / /

记录了登录过系统的用户、IP 地址、shell 命令以及详细操作的时间。并将这些信息以文件的形式保存在一个安全的地方,以供系统审计和故障排查。

把以下代码写到/etc/profile中。

文件记录的目录在:/var/log/.history

脚本如下:

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

写完下面的脚本然后放到/etc/profile.d/目录下。最后source /etc/profile 然他生效

效果如下:

1  [2019.07.19 11:06:59] ip a
2  [2019.07.19 11:07:03] vim /etc/nginx/nginx.conf
3  [2019.07.19 11:08:23] netstat  -antlp | grep 88888
4  [2019.07.19 11:08:28] ps -ef | grep 80929
5  [2019.07.19 11:37:13] ll
6  [2019.07.19 11:37:15] ip a

最后修改:2019-07-19 17:41:37 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

评论列表

还没有人评论哦~赶快抢占沙发吧~