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