用shell指令碼對系統進行自動化維護,簡單,便捷而且可移植性好.
但shell指令碼是可讀寫的,很有可能會洩露敏感資訊,如使用者名稱,密碼,路徑,ip等.
同樣,在shell指令碼執行時會也洩露敏感資訊.
請問如何不影響指令碼執行的前提下,對指令碼進行加密?
一、shc方法
shc是乙個加密shell指令碼的工具.它的作用是把shell指令碼轉換為乙個可執行的二進位制檔案,這就很好的解決了上述問題.
yum安裝:
yum -y install shc
編譯安裝:
wgettar xvfz shc-3.8.7.tgz
cd shc-3.8.7
make
驗證shc是否正確安裝
[root@martin shc-3.8.7]# ./shc -vshc parse(-f): no source file specified
shc usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvdtcah] -f script
建立乙個示例shell指令碼
[root@martin shc-3.8.7]# vi random.sh#!/bin/bash
read -p "how many random numbers do you want to generate?" max
for (( start = 1; start
<
= $max
; start++ ))
do echo -e $random
done
給指令碼增加可執行許可權
[root@martin shc-3.8.7]# chmod u+x random.sh
執行示例指令碼
[root@martin shc-3.8.7]# ./random.shhow many random numbers do you want to generate?3
14235
9555
7671
使用shc加密shell指令碼
[root@martin shc-3.8.7]# ./shc -v -r -t -f random.shshc shll=bash
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc random.sh.x.c -o random.sh.x
shc: strip random.sh.x
shc: chmod go-r random.sh.x
執行後會生成兩個檔案,script-name.x 和 script-name.x.c
script-name.x是加密後的可執行的二進位制檔案
script-name.x.c是生成script-name.x的原檔案(c語言)
[root@martin shc-3.8.7]# ll random.sh*-rwxr-xr-x 1 root root 146 aug 2 10:26 random.sh
-rwx--x--x 1 root root 9424 aug 2 10:30 random.sh.x
-rw-r--r-- 1 root root 10080 aug 2 10:30 random.sh.x.c
執行加密後的指令碼
[root@martin shc-3.8.7]# ./random.sh.xhow many random numbers do you want to generate?3
28955
21487
29513
還不完善,只能全路徑執行shc命令或者進入目錄內,加入全域性環境變數/etc/profile未生效
二、gzexe
它是使用系統自帶的gzexe程式,它不但加密,同時壓縮檔案
這種加密方式不是非常保險的方法,但是能夠滿足一般的加密用途,可以隱蔽指令碼中的密碼等資訊。
使用方法:
[root@martin home]# gzexe random.shrandom.sh: 20.5%
[root@martin home]# ll random.sh*-rwxr-xr-x 1 root root 953 aug 2 10:45 random.sh
-rwxr-xr-x 1 root root 146 aug 2 10:45 random.sh~
它會把原來沒有加密的檔案備份為 file.sh~ ,同時 file.sh 即被變成加密檔案
對Shell 指令碼加密的方法
用shell指令碼對系統進行自動化維護,簡單,便捷而且可移植性好.但shell指令碼是可讀寫的,很有可能會洩露敏感資訊,如使用者名稱,密碼,路徑,ip等.同樣,在shell指令碼執行程式設計客棧時會也洩露敏感資訊.shc是乙個加密shell指令碼的工具.它的作用是把shell指令碼轉換為乙個可執行的...
shell 指令碼加密
第一種方法 gzexe 這種加密方式不是非常保險的方法,但是能夠滿足一般的加密用途,可以隱蔽指令碼中的密碼等資訊。它是使用系統自帶的gzexe程式,它不但加密,同時壓縮檔案。使用方法 gzexe file.sh 它會把原來沒有加密的檔案備份為 file.sh 同時 file.sh 即被變成加密檔案 ...
shell指令碼加密
shc指令碼加密 wget 解壓安裝 tar xzf shc 3.8.9b.tgz cd shc 3.8.9b make make之後會在當前路徑下編譯生成乙個shc的可執行檔案。通過cp把它複製到任意乙個可執行檔案路徑裡,需要加密指令碼的時候,直接執行即可。shc v r f scripts.sh...