採用shc工具加密Shell腳本,以提升shell腳本文件的安全性。
介紹:當咱們寫的shell腳本,存在有敏感信息如帳號密碼,因而想增強腳本的安全性;還有不想讓別人查看/修改您的shell核心代碼等等狀況。均可使用如下工具進行加密。
shc是一個腳本編譯工具, 使用RC4加密算法, 它可以把shell程序轉換成二進制可執行文件(支持靜態連接和動態連接)。
shc官網:http://www.datsi.fi.upm.es/%7Efrosal/算法
安裝shc
wget http://www.datsi.fi.upm.es/%7Efrosal/sources/shc-3.8.7.tgz
tar vxf shc-3.8.7.tgz
cd shc-3.8.7
make test
make strings
make installshell
若報錯:
*** Installing shc and shc.1 on /usr/local
*** ?Do you want to continue? y
install -c -s shc /usr/local/bin/
install -c -m 644 shc.1 /usr/local/man/man1/
install: target `/usr/local/man/man1/' is not a directory: No such file or directory
make: *** [install] Error 1安全
請建立 mkdir -p /usr/local/man/man1/ ,而後運行make installide
經常使用參數:
-e date (指定過時日期)
-m message (指定過時提示的信息)
-f script_name(指定要編譯的shell的路徑及文件名)
-r Relax security. (能夠相同操做系統的不一樣系統中執行)
-v Verbose compilation(編譯的詳細狀況)工具
使用方法:
shc -v -f abc.sh
-v 是現實加密過程
-f 後面跟須要加密的文件
運行後會生成兩個文件:
abc.sh.x 和 abc.sh.x.c
abc.sh.x爲二進制文件,賦予執行權限後,可直接執行。更更名字mv abc.sh.x a.sh
abc.sh.x.c 是c源文件。基本沒用,能夠刪除測試
另shc還提供了一種設定有效執行期限的方法,過時時間,如:
# shc -e 28/01/2012 -m "過時了" -f abc.sh
選項「-e」指定過時時間,格式爲「日/月/年」;選項「-m」指定過時後執行此shell程序的提示信息。
若是在過時後執行,則會有以下提示:
# ./abc.sh.x
./abc.sh.x: has expired!
過時了
使用以上方法要注意,需防止用戶更改系統時間,能夠經過在程序中加入自動更新系統時間的命令來解決此問題。加密
測試都已經過,請放心使用!操作系統