修改linux系統history命令的條數和格式


原生的history命令,只能看到輸入的命令歷史,看不到什么時候,誰輸入的。

特此在網上找到修改history命令的辦法:

1.用root用戶打開系統環境變量設置的文件

vim /etc/profile

2.在最下面,插入下面幾行代碼

USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
export HISTTIMEFORMAT="%F %T  `whoami`  ${USER_IP}  "
export HISTSIZE=10000 #history 命令的記錄數量
export HISTFILESIZE=10000 #記錄文件的行數
export HISTIGNORE='ls*:ll' #忽略的命令
export PROMPT_COMMAND="history 1 >> /var/log/.myhistory" #將命令記錄輸出到文本中

3.讓環境變量生效

source /etc/profile

4.創建日志文件並賦予其他用戶讀寫權限

touch /var/log/.myhistory
chmod 666 /var/log/.myhistory

以后再輸入history命令,就會變成下面的樣子了,有時間,有用戶,有ip,而且保存最近1萬條記錄。

哼哼,再也不怕背鍋了

注意,history命令只能看到本用戶下輸入的命令,所以其實那個who am i沒什么用。ip顯示的也是當前用戶登錄的ip,你換個機器,history命令里記錄的ip也會變,所以ip的歷史也是假的。

所以需要將歷史記錄輸出到文本中,這種方式改完后,/var/log/.myhistory文件中才是真正意義上的所有用戶命令歷史,不過有個缺點,長按回車,會導致大量上一次的命令被重復記錄在文件中,以后再想辦法優化吧。

 


免責聲明!

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



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