首页 > 代码库 > shell脚本加密笔记!

shell脚本加密笔记!

你写的shell在生产环境是否加密?反正我是没有,线上环境看就看呗,觉得没啥。其实想想,好像也有几个好处。

1、简单加密,防止别人看里面具体内容。

2、可以隐蔽脚本中的密码等信息。(比如你的备份脚本,涉及到密码等问题)

好像还有点用处,大概常用的两种方式。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

第一种方法(gzexe):

这种加密方式不是非常保险的方法,但是能够满足一般的加密用途。它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。

使用方法: gzexe file.sh 它会把原来没有加密的文件备份为 xx.sh~ ,同时 xx.sh 即被变成加密文件;

[root@node6 ~]# ./1.sh 

2016年 08月 31日 星期三 15:38:45 CST

[root@node6 ~]# gzexe 1.sh 

1.sh: 120.0%


[root@node6 ~]# ll 1.sh*

-rwxr-xr-x 1 root root 831 8月  31 15:38 1.sh

-rwxr-xr-x 1 root root   5 8月  31 15:30 1.sh~

[root@node6 ~]# cat 1.sh~

date

[root@node6 ~]#

建议使用,一方面系统自带命令,达到目的即可,没人闲的破解你的脚本,就算要破解,先进入你系统再说。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

第二种方式 shc

shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法也很好的解决了脚本中含有IP、密码等不希望公开的问题。

包下载链接:

http://www.datsi.fi.upm.es/~frosal/sources/

wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.6.tgz

[root@node6 local]# tar xf shc-3.8.6.tgz 

[root@node6 local]# cd shc-3.8.6

[root@node6 shc-3.8.6]# mkdir -p /usr/local/man/man1

这步是必须的,不然安装过程中会报错,shc将安装命令到/usr/local/bin/目录下;将帮助文档存放在/usr/local/man/man1/目录下,如果系统中无此目录,安装时会报错,可创建此目录后再执行安装。

[root@node6 shc-3.8.6]# make install

*** Installing shc and shc.1 on /usr/local

*** Do you want to continue? yes

install -c -s shc /usr/local/bin/

install -c -m 644 shc.1 /usr/local/man/man1/

[root@node6 shc-3.8.6]#

yum install glibc  glibc.i686 -y

用法:

-f 指定要加密的文件

[root@node6 ~]# shc -r -f 1.sh

1.sh.x.c: In function ‘chkenv‘:

1.sh.x.c:277: warning: cast from pointer to integer of different size

运行后会生成两个文件,xx.x 和 xx.x.c.   其中xx.x是加密后的可执行的二进制文件;用./xx.x即可运行,xx.x.c是生成xx.x的原文件(c语言).

[root@node6 ~]# ll 1.sh*

-rwxr-xr-x 1 root root   831 8月  31 15:38 1.sh

-rwxr-xr-x 1 root root     5 8月  31 15:30 1.sh~

-rwx--x--x 1 root root 12656 8月  31 16:04 1.sh.x

-rw-r--r-- 1 root root 14001 8月  31 16:04 1.sh.x.c

[root@node6 ~]#

不建议使用,需要单独安装管理,比较麻烦。如果安全性要求极高,倒是可以参数。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


本文出自 “renzhiyuan@chinacfsc.com” 博客,请务必保留此出处http://renzhiyuan.blog.51cto.com/10433137/1844814

shell脚本加密笔记!