红联Linux门户
Linux帮助

deepin linux如何将shell脚本进行加密

发布时间:2017-04-27 10:09:53来源:linux网站作者:iamdebugman
有时候出于保护脚本内容的目的,需要将shell脚本进行加密,有需要的朋友可以参考本文。
 
一、vim加密
本身shell脚本是文本文档,在使用vim进行编辑的时候,可以直接使用vim的加密方法。具体在编辑好shell脚本后,按大写的X,如下图所示。
deepin linux如何将shell脚本进行加密
提示用户输入密码,直接输入密码,确认后加密完成了。
deepin linux如何将shell脚本进行加密
加密后的文件类型会提示用户是vim加密的。
deepin linux如何将shell脚本进行加密
要解密可以用vim打开文件,正确输入密码后,set key=的命令,将密码置空后,即可再行编辑或者保存后再次进行执行。
deepin linux如何将shell脚本进行加密
 
二、gzexe加密
首先写一个计算100以内整数和的shell脚本做为实例。如下图所示,正常执行。
deepin linux如何将shell脚本进行加密
用系统自带的gzexe命令直接进行加密压缩,如下图所示。
deepin linux如何将shell脚本进行加密
压缩成功后,用file命令查看一下文件类型,已经变成二进制格式的可执行文件了,如下图所示,同时两个文件都能正常运行。
deepin linux如何将shell脚本进行加密
解密也很简单,gzexe命令可以通过-d参数随时解压回原来的脚本内容,如下图所示。  
deepin linux如何将shell脚本进行加密
 
三、shc加密
比gzexe更好一些的shell脚本加密工具是shc,它本身是一个脚本编译器,会生成c源码,便于修改。首先,安装shc工具,如下图所示:
deepin linux如何将shell脚本进行加密
安装成功后,直接执行如下命令:CFLAGS=-static shc -r -f t.shCFLAGS指明为static静态编译,因为默认生成的是动态库,在不同的系统可能运行不了。-r也是为了生成的脚本二进制可执行程序能在其它的电脑上运行,-f参数用于指明要编译的脚本文件。常用参数:-e date (指定过期日期)-m message (指定过期提示的信息)-f script_name(指定要编译的shell的路径及文件名)-r   Relax security. (可以在相同操作系统的不同系统中执行)-v   Verbose compilation(编译的详细情况)
deepin linux如何将shell脚本进行加密
这时候在目录中会生成一个t.sh.x的文件,这个是加密后的脚本文件,还有一个t.sh.x.c的文件,这是加密后的源文件代码,需要发送给别人,只需要将t.sh.x发送给对方即可。
deepin linux如何将shell脚本进行加密
如果后期需要一些修改,也可以自行修改t.sh.x.c的源码文件,本身就是是c语言代码,可以自己用gcc进行编译完成,如下图所示:
deepin linux如何将shell脚本进行加密
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30333.html