久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

幫助中心 >  技術知識庫 >  云服務器 >  服務器教程 >  Linux修改history命令顯示記錄操作用戶,命令執行時間及登陸IP信息

Linux修改history命令顯示記錄操作用戶,命令執行時間及登陸IP信息

2023-12-11 13:46:49 5458

Linux修改history命令顯示記錄操作用戶,命令執行時間及登陸IP信息

Linux默認的history命令是一個常用的系統內置命令,該命令用來記錄在某一個的所有使用過的命令的歷史,但默認實在是十分簡略,只記錄有所執行的命令并沒有記錄在什么時間,什么人(哪個用戶),通過何種方式登錄系統(是遠程連接系統還是本地登陸所執行的命令)這些比較重要的信息,這些重要的信息是日后運維審計的一部分,那么,我們可以通過改動這個命令來實現 history命令增加記錄重要信息。

第一,who am i 命令

這個命令是相對于當前終端的命令,也就是只顯示當前終端的登陸信息,如果是遠程登陸,比如xshell,ssh這樣的登陸方式,示例如下:

本機本地登陸:

image.png

xshell 方式登陸:

image.png

可以看到,本地登陸和遠程登陸 執行who am i 的差別是本地沒有IP,登陸方式為tty1, 遠程登陸顯示IP,登陸方式為pts/0 。

第二,歷史命令 history的默認形式和優化后的形式

默認形式:

image.png

優化后的形式:

image.png

第三,如何優化

編輯/etc/profile文件,這個文件是全局的,或者編輯用戶的環境變量配置文件  ~/.bash_profile,推薦使用全局環境變量文件  也就是/etc/profile, 在該文件末尾添加如下內容:

if [ `who am i| awk '{print $NF}'|awk -F'(' '{print NF}'` -eq 2 ];then
unset HISTTIMEFORMAT
export HISTTIMEFORMAT="[%F %T]-[`whoami`]- at [`who am i| awk '{print $NF}'`] "
else
unset HISTTIMEFORMAT
export HISTTIMEFORMAT="[%F %T]-[`whoami`]- at [`hostname`] "
fi

以上腳本大意為 判斷是否遠程登陸,如果是遠程,顯示IP,如果不是遠程而是本地登陸,歷史命令記錄終端所在機器的hostname,unset 是為了防止原變量干擾。


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: