需求:如何知道某个用户,什么时间登录过系统,什么时间退出系统,在这段时间做了哪些操作。
使用到的技术:script和scriptreplay都是由util-linux-ng软件包提供的。
将以下脚本加入到/etc/profile 下面即可
PS1="`whoami`@`hostname`:"'[$PWD]' 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"` #if [ $UID -ge 500 ]; then //对特定的用户记录 exec /usr/bin/script -t 2>/tmp/history/${LOGNAME}/${USER_IP}_$DT.date -a -f -q /tmp/history/${LOGNAME}/${USER_IP}_$DT.log #fi chmod 600 /tmp/history/${LOGNAME}/*history* 2>/dev/null #查看操作回放 #scriptreplay 192.168.3.76_20141223_112802.date 192.168.3.76_20141223_112802.log
以上脚本会在/tmp/history创建相关的操作日志记录。