Shell脚本加密

网友投稿 403 2022-10-29


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://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 ~]#

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为交换机命令行操作小结
下一篇:浅谈一段java代码是如何执行的
相关文章

 发表评论

暂时没有评论,来抢沙发吧~