第一種方法(gzexe):
這種加密方式不是非常保險的方法,但是能夠滿足一般的加密用途,可以隱蔽指令碼中的密碼等資訊。
它是使用系統內建的gzexe程式,它不但加密,同時壓縮檔。
使用方法:
複製代碼 代碼如下:
gzexe file.sh
它會把原來沒有加密的檔案備份為 file.sh~ ,同時 file.sh 即被變成加密檔案;
第二種方法(shc):
使用 shc 對 Linux shell 指令碼加密.
shc是一個專業的加密shell指令碼的工具.它的作用是把shell指令碼轉換為一個可執行檔二進位檔案,這個辦法很好的解決了指令碼中含有IP、密碼等不希望公開的問題.
shc的官網下載地址:
http://www.datsi.fi.upm.es/~frosal/sources/
安裝:
複製代碼 代碼如下:
tar xzvf shc-3.8.6.tgz
cd shc-3.8.6
mkdir -p /usr/local/man/man1
這步是必須的,不然安裝過程中會報錯,shc將安裝命令到/usr/local/bin/目錄下;將協助文檔存放在/usr/local/man/man1/目錄下,如果系統中無此目錄,安裝時會報錯,可建立此目錄後再執行安裝
複製代碼 代碼如下:
make install
這是要回答yes或者y,不能直接斷行符號,否則會報錯
使用方法:
“-f”選項指定需要加密的程式
複製代碼 代碼如下:
shc -r -f script-name
運行後會產生兩個檔案,script-name.x 和 script-name.x.c. 其中script-name.x是加密後的可執行檔二進位檔案;用./script-name即可運行,script-name.x.c是產生script-name.x的原檔案(c語言).
另shc還提供了一種設定有效執行期限的方法,可以首先使用shc將shell程式轉化為二進位,並加上到期時間,如:
複製代碼 代碼如下:
# shc -e 18/10/2006 -m " It's too late to run this script " -f script.s