多人登錄追究誤操作登記
在linux系統(tǒng)的環(huán)境下,不管是root用戶還是其它的用戶只有登陸系統(tǒng)后用進入操作我們都可以通過命令history來查看歷史記錄,可是假如一臺服務器多人登陸,一天因為某人誤操作了刪除了重要的數(shù)據。這時候通過查看歷史記錄(命令:history)是沒有什么意義了。那有沒有什么辦法實現(xiàn)通過記錄登陸后的IP地址和某用戶名所操作的歷史記錄呢?答案:有的。
通過在/etc/profile里面加入以下代碼就可以實現(xiàn):
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/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
if [ ! -d /tmp/dbasky/${LOGNAME}/SIP=${USER_IP}.txt ]
then
touch /tmp/dbasky/${LOGNAME}/SIP=${USER_IP}.txt
chmod 600 /tmp/dbasky/${LOGNAME}/SIP=${USER_IP}.txt
fi
export HISTSIZE=4096
#DT=`date "+%Y%m%d_%H%M%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky 2>/dev/null
if [ -a "/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky" ]
then
cat "/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky" | perl -pe 's/(/d+)/localtime($1)/e' >> /tmp/dbasky/${LOGNAME}/SIP=${USER_IP}.txt
fi
其實通過上面的代碼不能看出來,在系統(tǒng)的/tmp新建個dbasky目錄,在目錄中記錄了所有的登陸過系統(tǒng)的用戶和IP地址,是不是覺得很方便呢?我們還可以用這個方法來監(jiān)測系統(tǒng)的安全性。