在LINUX上查詢哪個用戶從哪個IP登錄,登錄時間,執行了什么命令?


在/etc/profile里面加入以下代碼

PS1="`whoami`@`hostname`:"'[$PWD]'
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/login_data ]
then
mkdir /tmp/login_data
chmod 777 /tmp/login_data
fi
if [ ! -d /tmp/login_data/${LOGNAME} ]
then
mkdir /tmp/login_data/${LOGNAME}
chmod 300 /tmp/login_data/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/login_data/${LOGNAME}/${USER_IP} login_data.$DT"
chmod 600 /tmp/login_data/${LOGNAME}/*login_data* 2>/dev/null

 

 source /etc/profile   使腳本生效,退出用戶,重新登錄

上面腳本在系統的/tmp新建個login_data目錄,記錄所有登陸過系統的用戶和IP地址(文件名),每當用戶登錄/退出會創建相應的文件,該文件保存這段用戶登錄時期內操作歷史,可以用這個方法來監測系統的安全性。

 

核心是  history 和  who 這個兩個命令

 

參考文章 : 《Linux下查看/管理當前登錄用戶及用戶操作歷史記錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM