这篇文章主要介绍 CentOS 下对 Shell 脚本加密的二种方法,本文介绍了 gzexe、shc 两款加密工具,并分别讲解了加密方法,需要的朋友可以参考下。
这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息。
它是使用系统自带的 gzexe 程序,它不但加密,同时压缩文件。
代码如下:
gzexe file.sh
它会把原来没有加密的文件备份为 file.sh~
,同时 file.sh
被变成加密文件。
使用 shc 对 Linux Shell 脚本加密。
shc 是一个专业的加密 Shell 脚本的工具。它的作用是把 Shell 脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有 IP、密码等不希望公开的问题。
shc的 官网下载地址
安装:
wget -O shc-3.8.9.tgz http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
tar xzvf shc-3.8.9.tgz
cd shc-3.8.9
mkdir -p /usr/local/man/man1
这步是必须的,不然安装过程中会报错,shc 将安装命令到 /usr/local/bin/
目录下;将帮助文档存放在 /usr/local/man/man1/
目录下,如果系统中无此目录,安装时会报错,可创建此目录后再执行安装:
make install
这是要回答「yes」或者「y」,不能直接回车,否则会报错。
使用方法:
「-f」选项指定需要加密的程序
代码如下:
shc -r -f script-name
运行后会生成两个文件:script-name.x
和 script-name.x.c
。其中 script-name.x
是加密后的可执行的二进制文件;用 ./script-name
即可运行,script-name.x.c
是生成 script-name.x
的原文件(C 语言)。
另外 shc 还提供了一种设定有效执行期限的方法,可以首先使用 shc 将 shell 程序转化为二进制,并加上过期时间。
代码如下:
shc -e 18/10/2016 -m " It's too late to run this script " -f script.s