第一种方法(gzexe):
这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息。
它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。
使用方法:
gzexe file.sh
它会把原来没有加密的文件备份为 file.sh~ ,同时 file.sh 即被变成加密文件;
第二种方法(shc):
使用 shc 对 Linux shell 脚本加密.
shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP、密码等不希望公开的问题.
shc的官网下载地址:
http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz
# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz
# tar -zxvf shc-3.8.7.tgz
# cd shc-3.8.7
# make
# make install
(仅用make就可以完成安装,运行shc时要指出绝对路径;用make install,将shc安装到/usr/local/bin下,可以直接运行)
常用参数:
-e date
Expiration date in dd/mm/yyyy format [none](指定过期日期)
-m message
message to display upon expiration [“Please contact your provider”](指定过期提示的信息)
-f script_name
File name of the script to compile(指定要编译的shell的路径及文件名)
-r Relax security.
Make a redistributable binary which executes on different systems running the same operat-ing system.(可以相同操作系统的不同系统中执行)
-v Verbose compilation(编译的详细情况)
使用示例:
[root@centos54 tmp]# /usr/local/src/shc-3.8.7/shc -e 20/10/2010 -m “lianxi aaa@163.com” -v -r -f ./ex.sh
-e:指定过期时间为2010年10月20日
-m:过期后打印出的信息;
-v: verbose
-r: 可在相同操作系统的不同主机上执行
-f: 指定源shell
方法:
shc -r -f script-name
注意:要有-r选项, -f 后跟要加密的脚本名.
运行后会生成两个文件,script-name.x 和 script-name.x.c
script-name.x是加密后的可执行的二进制文件.
./script-name.x 即可运行.
script-name.x.c是生成script-name.x的原文件(c语言)