linux記錄用戶命令
linux記錄用戶命令
為了安全,linux下我們可以通過相關(guān)命令記錄下用戶操作的命令。那么具體要怎么實現(xiàn)呢?下面由學(xué)習(xí)啦小編為大家整理了linux記錄用戶命令的相關(guān)知識,希望大家喜歡!
linux記錄用戶命令方法一
修改/etc/profile文件,在最后增加如下內(nèi)容:
HISTFILESIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H%M `whoami` "
保存文件,退出,輸入source /etc/profile,讓環(huán)境生效,或者退出終端,重新登錄也可以。
查看命令,在終端輸入history即可看到歷史命令的
但這里有個問題,因為只是記錄了時間與命令,沒有記錄登錄的IP地址,后期的審計也不方便,為防止以上情況,可以在/etc/profile文件中,進行完善,
linux記錄用戶命令方法二
把以下兩條命令去掉,用新的內(nèi)容進行填充。
HISTFILESIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H%M `whoami` "
新內(nèi)容為:
### add by lgh2 at 2016-01-06
#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`
exportHISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT"
chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null
###end by lgh2
說明:所有操作命令記錄存放在/var/log/.hist/{用戶}/目錄下,即使是同一個終端幾個不同的窗口,在該窗口退出或關(guān)閉時,該用戶目錄下會生產(chǎn)一個文件,多個窗口會生產(chǎn)多個文件,最后只要查看這些文件內(nèi)容,就可以看出歷史操作了。
命令是記錄了,但從安全角度講,如果他清楚,所有操作均記錄了的話,是可以進入日志記錄目錄,進行文件刪除或文件修改的,于是需要將這些文件及時傳到日志收集服務(wù)器中,最好是作一個后臺實時監(jiān)控進程,該目錄下有文件變化的話,直接觸發(fā)同步操作,把文件及時同步到日志收集服務(wù)器,網(wǎng)上也有人把所有記錄實時通過日志進程syslog,把日志實時發(fā)至日志服務(wù)器中。