現場(環境):Redhat7.7 套件:gzexe、shc
有時候我們的Shell Script裡面會有一些比較敏感的資訊或者密碼。
抑或者你的Shell Script不想要讓人家看到。
就可以用一些套件來進行加密。
套件一、 gzexe
關於gzexe這個套件,在Redhat原生的環境當中就存在的套件。
加密的指令也相當簡單。
#gzexe {shellScript名稱}
加密完成後檔案會變成兩隻。
原本的Shell 是 {XXXX.sh~}
加密的Shell是 {XXXX.sh}
加密完後的ShellScript會像是下圖那樣。是二進碼的加密方法。
但這個方式比較不安全,因為他是可逆的方式的機密。
# gzexe -d {shellScript名稱}
這樣子就又可以看到原本的Shell Script。
套件二、 shc
這個套件要可逆勢比較難的。
但原生的Redhat內是沒有包含,要另外進行安裝。
# yum install gcc* -y
# yum install wget -y
# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz
# tar -zxvf shc-3.8.9b.tgz
後面編譯時會將套件安裝在 /usr/local/man/man1 路徑,要先建立。
# mkdir -p /usr/local/man/man1
# cd shc-3.8.9
先透過make test確認一下能不能正確編譯
*出現下圖表是正確
#make test
進行安裝 (要記得輸入 y)
#make && make install
為了讓系統可以直接執行shc指令,我們將他複製到/bin底下
# cp -av shc /bin/
# chmod +x /bin/shc
到這邊就安裝完畢,可以開始使用。
使用的詳細內容可以參考 (https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/393254/)
-e 參數: [格式dd/mm/yyyy] 指定過期日
-m參數: 配合-e使用,表示過期後會提示甚麼
-f 參數: 要進行封裝的shell的檔名
-r 參數: 讓這個封裝可以在相同作業系統(不同主機)內執行。 **很重要
-v 參數: 顯示這個封裝的過程
使用:
# cd /tmp
# shc -e 04/30/2020 -m "expired" -rvf testshell.sh
這時候會出現兩個檔案
{shellscript檔名.x} 這個是我們可以執行的sh
{shellscript檔名.x.c} 是封裝成C語言的狀況
為了執行方便,我們還是可以將{shellscript檔名.x} 變回原本的{shellscript檔名}
#mv {shellscript檔名.x} {shellscript檔名}
之後一樣是可以執行的
<全篇完>
參考網址:
https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/393254/
https://www.twblogs.net/a/5be24be32b717720b51d2c78
https://blog.csdn.net/cllosvneh/article/details/50669410
留言列表