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

来源:互联网 发布:三大男高音 知乎 编辑:程序博客网 时间:2024/05/17 00:16


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切到普通用户的操作不会记录。

       

0 0
原创粉丝点击