1. 程式人生 > >Linux 檢視登入日誌

Linux 檢視登入日誌

一、檢視日誌檔案

 Linux檢視/var/log/wtmp檔案檢視可疑IP登陸

 last -f /var/log/wtmp

該日誌檔案永久記錄每個使用者登入、登出及系統的啟動、停機的事件。因此隨著系統正常執行時間的增加,該檔案的大小也會越來越大,

增加的速度取決於系統使用者登入的次數。該日誌檔案可以用來檢視使用者的登入記錄,

last命令就通過訪問這個檔案獲得這些資訊,並以反序從後向前顯示使用者的登入記錄,last也能根據使用者、終端tty或時間顯示相應的記錄。

檢視/var/log/secure檔案尋找可疑IP登陸次數

二、 指令碼生成所有登入使用者的操作歷史

在linux系統的環境下,不管是root使用者還是其它的使用者只有登陸系統後用進入操作我們都可以通過命令history來檢視歷史記錄,可是假如一臺伺服器多人登陸,一天因為某人誤操作了刪除了重要的資料。這時候通過檢視歷史記錄(命令:history)是沒有什麼意義了(因為history只針對登入使用者下執行有效,即使root使用者也無法得到其它使用者histotry歷史)。那有沒有什麼辦法實現通過記錄登陸後的IP地址和某使用者名稱所操作的歷史記錄呢?答案:有的。

通過在/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/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
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP}-dbasky.$DT"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null

source /etc/profile 使用指令碼生效

退出使用者,重新登入

?面指令碼在系統的/tmp新建個dbasky目錄,記錄所有登陸過系統的使用者和IP地址(檔名),每當使用者登入/退出會建立相應的檔案,該檔案儲存這段使用者登入時期內操作歷史,可以用這個方法來監測系統的安全性。

[email protected]:[/tmp/dbasky/root]ls
10.1.80.47 dbasky.2013-10-24_12:53:08
[email protected]:[/tmp/dbasky/root]cat 10.1.80.47 dbasky.2013-10-24_12:53:08