- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機(jī)構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機(jī)構(gòu):新網(wǎng)數(shù)碼
Linux修改history命令顯示記錄操作用戶,命令執(zhí)行時(shí)間及登陸IP信息
Linux默認(rèn)的history命令是一個常用的系統(tǒng)內(nèi)置命令,該命令用來記錄在某一個的所有使用過的命令的歷史,但默認(rèn)實(shí)在是十分簡略,只記錄有所執(zhí)行的命令并沒有記錄在什么時(shí)間,什么人(哪個用戶),通過何種方式登錄系統(tǒng)(是遠(yuǎn)程連接系統(tǒng)還是本地登陸所執(zhí)行的命令)這些比較重要的信息,這些重要的信息是日后運(yùn)維審計(jì)的一部分,那么,我們可以通過改動這個命令來實(shí)現(xiàn) history命令增加記錄重要信息。
第一,who am i 命令
這個命令是相對于當(dāng)前終端的命令,也就是只顯示當(dāng)前終端的登陸信息,如果是遠(yuǎn)程登陸,比如xshell,ssh這樣的登陸方式,示例如下:
本機(jī)本地登陸:
xshell 方式登陸:
可以看到,本地登陸和遠(yuǎn)程登陸 執(zhí)行who am i 的差別是本地沒有IP,登陸方式為tty1, 遠(yuǎn)程登陸顯示IP,登陸方式為pts/0 。
第二,歷史命令 history的默認(rèn)形式和優(yōu)化后的形式
默認(rèn)形式:
優(yōu)化后的形式:
第三,如何優(yōu)化
編輯/etc/profile文件,這個文件是全局的,或者編輯用戶的環(huán)境變量配置文件 ~/.bash_profile,推薦使用全局環(huán)境變量文件 也就是/etc/profile, 在該文件末尾添加如下內(nèi)容:
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
以上腳本大意為 判斷是否遠(yuǎn)程登陸,如果是遠(yuǎn)程,顯示IP,如果不是遠(yuǎn)程而是本地登陸,歷史命令記錄終端所在機(jī)器的hostname,unset 是為了防止原變量干擾。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP