Linux Bash環境下,輸入指令不留痕跡的作法

Linux Bash環境下,輸入指令不留痕跡的作法

其實在系統上留下「輸入指令的記錄」是個安全的作法,至少下了什麼指令會有一個依據,萬一下錯指令還可以看看到底做錯了什麼,只是被老闆砍頭也要有個完整的紀錄,總不能說"好像"下錯指令,或許有些錯誤不是該自己造成的啊!因此在系統下command的記錄還是完整的保留一下好了!

但是或許有時候會想來一個例外狀況,可能一些指令會有帶帳號密碼的,這時候當然就不會希望在系統上留下記錄,最簡單的做法就是HISTSIZE=0,不過這樣的作法所有的歷史記錄都會被清除,會不會被老闆質疑「你為什麼要把command記錄都刪除?」,當要查閱記錄的時候頭就大了。因此為了能繼續的有完整的指令記錄,但是又要避免掉一些敏感指令被記錄,這實就可以利用HISTCONTROL來達成這個目的。

HISTCONTROL有簡單的三種用法:

  • HISTCONTROL=ignorespace
    執行以上的變數設定,之後只要是comannd前有空白的話,history將不會記錄你下的command。
    [root@me]  ~
    $ echo wawa
    wawa

    [root@me]  ~
    $  echo bebo   #echo前有加空格
    bebo

    [root@me]  ~
    $ history | tail -2
       16  echo wawa
    echo bebo 那行並不會出現在history的記錄當中
       17  history | tail -10
  • HISTCONTROL=ignoredups
    執行以上的變數設定,之後只要是重複下的指令,只會被記錄一次
    [root@me]  ~
    $ echo easylife   #echo 4次easylife
    easylife

    [root@me]  ~
    $ echo easylife
    easylife

    [root@me]  ~
    $ echo easylife
    easylife

    [root@me]  ~
    $ echo easylife
    easylife

    [root@me]  ~
    $ echo good   #echo 1次good
    good

    [root@me]  ~
    $ history | tail -5
       38  echo easylife
    echo easylife 4次卻只出現一筆記錄
       39  echo good
       40  history | tail -5
  • HISTCONTROL=ignoreboth
    這個就是結合以上兩種,就不再示範囉!

或許有人想說這的確是不錯的一個資訊,只是到底用到的時機到底是什麼時候?我在這邊可以簡易分享我所想到的用途,首先我絕對會把HISTCONTROL=ignorespace加到.bashrc裡面去,這樣以後只要登入系統就自動生效了,避免自己再去手動執行一次留下記錄(HISTCONTROL=ooxx的記錄),到時候老闆查歷史記錄還會問說你下那行幹嘛?有種你可以回答「做壞事」震驚本站下載" border="0">

改密碼可以用!
若你管理的linux主機很多台,一台一台改密碼只有勞累而已,若你有script的能力,以後改密碼就是批次全部改完而已,連密碼都可以亂數產生(這個自己寫),簡單來說只是用到passwd --stdin的參數。
[root@me]  ~
$  echo "ilovewawa" | passwd --stdin root && history | tail -3
Changing password for user root.
passwd: all authentication tokens updated successfully.   #我改完密碼囉!
   53  who
   54  ls
   55  who   #歷史記錄渾然不覺

http_proxy和ftp_proxy可以用
先參照「Text Mode Use Http Proxy On Linux」了解一下用途,參照完之後可以了解如何在text mode透過http proxy連線,之前我還寫了一小段function加入在.bashrc,就是要避免帶帳號密碼的http_proxy在history中留下記錄,今天知道了HISTCONTROL的用法後,其實http_proxy帶帳號密碼的問題就可以不留痕跡囉!

參考文章
http://plog.longwin.com.tw/my_note-unix/2009/04/22/linux-set-history-not-record-space-command-2009
http://linux.about.com/cs/linux101/g/histcontrolenvi.htm

HAPPY好久沒有更新linux的文章囉攤手

Linux Bash環境下,輸入指令不留痕跡的作法 參考影音

繼續努力蒐集當中...

Linux Bash環境下,輸入指令不留痕跡的作法 文章標籤

星火NEW直播: 最新 APK 下載

第四台業者會哭哭的~

TOP