[shell]採用shc工具加密Shell腳本

採用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!
過時了
使用以上方法要注意,需防止用戶更改系統時間,能夠經過在程序中加入自動更新系統時間的命令來解決此問題。加密

測試都已經過,請放心使用!操作系統

相關文章
相關標籤/搜索