Linux下查看用戶登陸后的操作記錄
添加時間:2010-11-26
添加:
admin
在linux系統的環境下,不管是root用戶還是其它的用戶只有登陸系統后用進入操作我們都可以通過命令history來查看歷史記錄,可是假如一臺服務器多人登陸,一天因為某人誤操作了刪除了重要的數據。這時候通過查看歷史記錄(命令:history)是沒有什么意義了。那有沒有什么辦法實現通過記錄登陸后的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/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
其實通過上面的代碼不能看出來,在系統的/tmp新建個dbasky目錄,在目錄中記錄了所有的登陸過系統的用戶和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/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
其實通過上面的代碼不能看出來,在系統的/tmp新建個dbasky目錄,在目錄中記錄了所有的登陸過系統的用戶和IP地址,是不是覺得很方便呢?我們還可以用這個方法來監測系統的安全
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解