1. 首页
  2. 运维基础

Linux用户操作审计

我们可以利用 history 命令的几个环境变量实现命令行历史加固、命令审计的功能,具体实现方式如下:

在 /etc/profile 文件内增加以下内容,作用范围是所有登录用户:

$ vim /etc/profile

# 设置终端空闲超时断开时间
export TMOUT=600
readonly TMOUT

# history 命令历史加固
# 获取当前登录用户的IP地址
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
    USER_IP=`hostname` 
fi

if [ ! -d $HISTDIR ]; then
    mkdir -p $HISTDIR
    chmod 777 $HISTDIR
fi

# ${LOGNAME} 为系统变量,存储了当前登录用户的名字
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 $HISTFILE/${LOGNAME}/*.history* 2>/dev/null
:wq 保存退出

效果:每个帐号每次的登录 IP 以及运行命令都会记录在该目录,并且普通用户是没有权限查看该历史文件的。

原创文章,作者:恩志,如若转载,请注明出处:https://www.xbzdr.com/178.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

邮件:510749025@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code