摘要
Linux運維同學們經常會用history命令來查看命令的歷史記錄,有時候是為了查找”犯罪證據“,但因為history命令輸出默認只有ID和command,查找的同學還想知道命令對應的時間,有沒有辦法讓時間也顯示出來呢?辦法是有的。本文主要講講相關的配置。
正文
以root用戶登錄服務器,在/etc/profile.d/下新建一個文件history_command
vim /etc/profile.c/history_command
export HISTFILE=$HOME/.bash_history
export HISTSIZE=1200
export HISTFILESIZE=1200
export HISTCONTROL=ignoredups
export HISTTIMEFORMAT="`whoami` %F %T "
shopt -s histappend
typeset -r HISTTIMEFORMAT
source /etc/profile.c/history_command ,使其生效,再敲history命令看看:
#history 5
1008 root 2015-09-11 08:54:20 vim /etc/profile
1009 root 2015-09-11 09:13:17 history | less
1010 root 2015-09-11 09:15:49 vim /etc/profile
1011 root 2015-09-11 09:43:20 cat /etc/profile.d/history_command
1012 root 2015-09-11 09:44:59 history 5
時間已經有了,/etc/profile和/etc/profile.d/下的文件會在用戶interactive login的時候自動執行,所以用戶登錄機器後每敲一個命令都會被記錄到HISTFILE指定的文件中,而且是以追加的方式寫入的。
配置中最關鍵的地方是export HISTTIMEFORMAT="`whoami` %F %T " , 這一行指定history的輸出格式。