安全快速建立暫存檔案及暫存目錄 Shell Script

當 Shell Script 在執行時會運用到讀寫暫存檔案,使用固定的檔案名稱有可能會造成檔案複寫或是內容竊取攻擊,使用內建的指令來亂數產生暫存檔案,實踐更安全的執行環境。

指令介紹

mktemp [參數] [文件名稱]

參數介紹

  • -q
    • 執行時發生錯誤,不會顯示任何訊息。
  • -d
    • 建立目錄並非檔案。
  • -p
    • 指定臨時文所在目錄,未指定使用/tmp。
  • -t
    • 指定臨時文件名稱模板。
  • [文件名稱]
    • 文件名亂數部分必須是以XXX三個大寫的X為亂數填入的部分,最少為三個建議六個起跳。舉例來說: tmp.XXXX,X越多亂數長度越長。

使用方式

mktemp tmp.XXXX #  建立臨時文件
mktemp -d tmpXXXX #建立臨時資料夾
mktemp /var/tmp/tmp.XXXX #  在/var/tmp/ 建立臨時文件
mktemp CJK.XXXX #建立以 CJK 為開頭的臨時檔案

建議搭配Linux trap 一起使用,讓指令被退出時可以清除執行檔案。

參考來源

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *