您的位置:首页 > 运维架构 > Linux

linux系统记录用户操作实现方法

2017-04-21 09:45 525 查看

linux系统记录用户操作实现方法
        针对登陆系统的不同用户,记录其相关操作,并生成文件。
        实现方法,修改/etc/profile文件,加入如下信息:
# 设置保存历史命令的文件大小

export HISTFILESIZE=10000000

# 保存历史命令条数

export HISTSIZE=1000000

# 实时记录历史命令

export PROMPT_COMMAND="history -a"

# 记录每条历史命令的执行时间

export HISTTIMEFORMAT="%Y-%m-%d-%H:%M:%S "
history

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 /tmp/history ]

then

mkdir /tmp/history

chmod 777 /tmp/history

fi

if [ ! -d /tmp/history/${LOGNAME} ]

then

mkdir /tmp/history/${LOGNAME}

chmod 300 /tmp/history/${LOGNAME}

fi

DT=`date +"%Y%m%d-%H%M%S"`

export HISTFILE="/tmp/history/${LOGNAME}/${USER_IP}-history-$DT"

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

保存后,执行source /etc/profile命令即可,生成的记录文件位置在/tmp/history下,每个用户名生成一个目录。
注:必须是普通用户登陆等操作才会记录,从root用户su切到普通用户的操作不会记录。
       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: