當前位置:
首頁 > 新聞 > 開小灶:隱藏bash歷史命令的小技巧

開小灶:隱藏bash歷史命令的小技巧

如果你登錄過Linux系統,並敲過一些命令,那你應該知道,bash history會記錄你輸入的所有命令。這個操作其實是有一定風險的。

我個人經常使用Linux,所以我想著研究一番,看看如何隱藏bash history。下面就是我整理的一些方法,僅供大家參考:

·exit normally - history記錄正常寫入

·kill - 伺服器端運行-kill bash進程ID後就不會再記錄history了。我檢查過是否需要加-9參數,不過不用,只需要一個基本的kill命令,就可以殺掉進程並阻止它寫入文件。

·kill - 客戶端運行--kill ssh進程ID,即時加了-9參數還是會有歷史記錄。

·set +o history - 不會將任何當前會話寫入日誌。可以在會話期間任何時間運行,並隱藏所有命令。

·set -o history - 重啟日誌記錄,但是會記錄set命令,所以會發生一些明顯的變化。

·unset HISTFILE - 清除記錄歷史文件位置的變數,這樣就不會存儲任何東西

·history -c - 徹底清除歷史。這條命令作用非常明顯,因為所有的歷史命令都沒了。

·export HISTIGNORE=「ls*:cat*」 - 這條命令是不記錄引號中以冒號為分隔符的命令。這條命令可以使用shell模式,有點類似正則,但不盡相同

·export HISTFILESIZE=10 - 設置歷史記錄數量為10。如果你已經完成了想要隱藏的操作,但又想保留其他的命令,請重新計算,將記錄數的大小設置為小於總數並繼續執行。這樣,所有之前的命令就會不可見,看起來會有一些可疑,但是因為歷史記錄中還是有內容,所以人們可能不會注意到。

·editing the.bash_history file - 如果你在會話期間編輯這個文件,編輯的內容將會出現在會話的命令之前,這樣你其實可以在history中添加一些你實際並沒有運行過的命令,所以這也不失為一個好辦法。

·using multiple sessions - 一個會話終止時才會寫入bash history。那我們可以使用兩個會話,第一個會話終止會寫入history,然後第二個會話的內容會在第一個會話終止時才開始寫入history

·putting a space before a command(命令前面加一個空格) - 根據配置,在命令前加一個空格,就會不進行記錄。如果你已經輸入了你不想記錄的命令,那麼這個功能就沒什麼用,但如果想讓幾條好不相關的命令看似一條的話,使用這個還是不錯的。在使用之前請先進行測試,因為根據發行版和用戶配置不同,情況會有所不同。另請閱讀:更高效地使用bash history:HISTCONTROL(https://www.linuxjournal.com/content/using-bash-history-more-efficiently-histcontrol)

·history -r - 這條命令會重新讀取history文件,能夠將歷史記錄重置為你登錄時的狀態。這條命令似乎非常有用,尤其是你可以編輯history文件,添加命令時,然後關掉shell。這會寫入經過你修改的history,不留任何痕迹。

上面這些命令,好像「set +o history」是最好用的也是最通用的方法,因為它會隱藏當前會話的所有命令,但是會保留之前的命令。

不過根據場景不同,其他的命令也是非常有效的。

在你使用這些命令之前,一定要先自己測試一遍。當你已經登錄了一個系統,而且意識到需要隱藏某些命令時,不要慌張,history只會在會話結束時寫入,所以只要會話還沒有結束,你就可以停下來思考,怎麼去隱藏命令,希望本文的內容能夠幫到你。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

利用Shodan搜索網路漏洞的7個簡單步驟
供應鏈攻擊活動Red Signature分析

TAG:嘶吼RoarTalk |