close

現場(環境):Redhat7.7      套件:gzexeshc

 


有時候我們的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檔名}

圖片

之後一樣是可以執行的

圖片

 

<全篇完>


 

參考網址:

http://www.datsi.fi.upm.es/

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

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 IT001 的頭像
    IT001

    IT001

    IT001 發表在 痞客邦 留言(0) 人氣()