1. 程式人生 > >Linux 記錄所有用戶的操作記錄

Linux 記錄所有用戶的操作記錄

linux 日誌 user log 用戶操作

隨著時代的發展,我們生活中了解計算機的越來越多,黑客也越來越多;為了安全起見,我們需要記錄所用戶的登錄及操作日誌;我們需要清楚服務器上每個用戶登錄後都做了哪些操作,我們需要記錄下每個用戶的操作命令。

下面的內容設置可以實現在Linux下所有用戶,不管是遠程還是本地登陸,在本機的所有操作都會記錄下來,並生成包含“用戶/IP/時間/操作指令”的文件存放在指定位置。

1、添加以下信息到/etc/profile文件裏

################## 記錄信息開始 ####################
#history
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
USER_IP=`who -u am i 2>/dev/null| awk ‘{print $NF}‘|sed -e ‘s/[()]//g‘`
HISTDIR=/var/log/.hist   ###日誌存放路徑
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=4096
DT=`date +%Y%m%d_%H%M%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT"   ###日誌生成格式,保持默認
chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null
########################## 結束 ############################


2、使用配置生效

# source /etc/profile


3、退出重啟登錄後查看生成的日誌信息

[[email protected] ~]# cd /var/log/.hist/root/
[[email protected] root]# ls
192.168.206.1.hist.20170604_085436
[[email protected] root]# cat 192.168.206.1.hist.20170604_085436 
#1496537687
cd /var/log/.hist/
#1496537688
ls
#1496537690
cd root/
#1496537691
ls
#1496537692
ll
#1496537695
exit

4、小技巧:正常格式查看日誌信息

[[email protected] root]# export HISTFILE=/var/log/.hist/root/192.168.206.1.hist.20170604_085436
[[email protected] root]# history 
    1  [2017.06.04 08:55:04]cd /var/log/.hist/root/
    2  [2017.06.04 08:55:05]ls
    3  [2017.06.04 08:55:10]cat 192.168.206.1.hist.20170604_085436 
    4  [2017.06.04 08:55:31]#history


至此,所有操作就已經完成了。如有問題請聯系:[email protected]



本文出自 “Elephant” 博客,請務必保留此出處http://zlyang.blog.51cto.com/1196234/1933865

Linux 記錄所有用戶的操作記錄