gzexe 助shell脚本加密 01

gzexe
助shell脚本加密 01

一、 
简介

很多时候我们的脚本会涉及到一些私密的信息,例如:用户名,密码,或者其它重要信息的时候,我们使用一些加密的手段来屏蔽这些信息,确保系统的安全已经脚本的可流传性,通常情况下我们只需要通过系统自带的gzexe这个工具就够了。

二、        
实验测试开始:

 2.1 编写一个用于测试的脚本
[root@woo ~]# vi woo.sh
#! /bin/ksh
echo 'PrudentWoo'' '`date +%Y-%m-%d' '%T`
uptime

2.2 赋予可执行权限,并执行
[root@woo ~]# chmod +x woo.sh
[root@woo ~]# ./woo.sh
PrudentWoo 2014-12-30 22:13:27
 22:13:27 up 10 days, 23:03,  3 users,  load average: 0.00, 0.01, 0.05

2.3 执行gzexe加密操作
[root@woo ~]# gzexe woo.sh
woo.sh:  11.5%
[root@woo ~]# ll woo.s*
-rwxr-xr-x 1 root root 888 Dec 30 22:15 woo.sh
-rwxr-xr-x 1 root root  61 Dec 30 22:11 woo.sh~
[root@woo ~]#

2.4 加密后的文件内容
[root@woo ~]# strings  woo.sh
#!/bin/sh
skip=44
tab='   '
nl='
IFS=" $tab$nl"
umask=`umask`
umask 77
gztmpdir=
trap 'res=$?
  test -n "$gztmpdir" && rm -fr "$gztmpdir"
  (exit $res); exit $res
' 0 1 2 3 5 10 13 15
if type mktemp >/dev/null 2>&1; then
  gztmpdir=`mktemp -dt`
else
  gztmpdir=/tmp/gztmp$$; mkdir $gztmpdir
fi || { (exit 127); exit 127; }
gztmp=$gztmpdir/$0
case $0 in
-* | */*'
') mkdir -p "$gztmp" && rm -r "$gztmp";;
*/*) gztmp=$gztmpdir/`basename "$0"`;;
esac || { (exit 127); exit 127; }
case `echo X | tail -n +1 2>/dev/null` in
X) tail_n=-n;;
*) tail_n=;;
esac
if tail $tail_n +$skip <"$0" | gzip -cd > "$gztmp"; then
  umask $umask
  chmod 700 "$gztmp"
  (sleep 5; rm -fr "$gztmpdir") 2>/dev/null &
  "$gztmp" ${1+"$@"}; res=$?
else
  echo >&2 "Cannot decompress $0"
  (exit 127); res=127
fi; exit $res
woo.sh
(*MI
WWWPOHI,IU

2.5 再次执行加密后的文件,输出结果一样
[root@woo ~]# ./woo.sh
PrudentWoo 2014-12-30 22:17:22
 22:17:22 up 10 days, 23:06,  3 users,  load average: 0.00, 0.01, 0.05
[root@woo ~]#

2.6 执行解密操作:
[root@woo ~]# gzexe -d woo.sh
[root@woo ~]# cat woo.sh
#! /bin/ksh
echo 'PrudentWoo'' '`date +%Y-%m-%d' '%T`
uptime
[root@woo ~]#

2.7 再次执行确认,加密解密都是可行的:
[root@woo ~]# ./woo.sh
PrudentWoo 2014-12-30 22:19:50
 22:19:50 up 10 days, 23:09,  3 users,  load average: 0.00, 0.01, 0.05
[root@woo ~]#
时间: 2024-11-08 21:09:29

gzexe 助shell脚本加密 01的相关文章

sch 助shell脚本加密 02

sch 助shell脚本加密 02 一.  简介 SHC(shell script compiler),即shell脚本编译器.通过SHC编译过的脚本对普通用户而言是不可读的,因此如果你想让你的代码实现加密功能,让其有效的屏蔽一些敏感信息,这个时候可以考虑使用SHC:它通常情况下是不太容易被破解的,但是还是有些人可以通过反编译SHC的方法来实现破解加密过的脚本. 二.  实验测试开始2.1 下载并编译SHC [root@woo ~]# wget http://www.datsi.fi.upm.e

对Shell 脚本加密的方法_linux shell

用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好. 但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等. 同样,在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题. shc 安装 yum -y install shc 使用方法: shc -r -f script-name 注意:要有-r选项, -f 后跟要加密的脚本名. 运行后会生成两个文件

linux shell脚本问题,关于自动修改系统密码

问题描述 linux shell脚本问题,关于自动修改系统密码 操作系统 radhat 就是多个服务器每天就要进行一次密码修改,所以在想能不能用shell写一个命令脚本,然后放在一台服务器上面,等到需要修改密码的时候,就修改脚本里面的日期参数进行跑脚本修改,求大神帮助,新手,也可沾些代码我学习一下,不适合的地方,我自己改改. 解决方案 用crontabhttp://www.cnblogs.com/kaituorensheng/p/4494321.htmlhttp://os.51cto.com/a

centos linux下对Shell/.sh脚本加密两种方法(shc和gzexe)

shc方法 shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件 用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好. 但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等. 同样,在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题. shc 安装 yum -y install shc 如果yum不能安装,

使用shc加密shell脚本

使用shc加密shell脚本 使用 之前为了防止svn认证问题,都是直接把svn的用户名.密码写在脚本里面的.由于明文密码非常不安全,所以必须采取密文保存. 为了不影响原有脚本流程,采用了抽取svn命令为独立脚本,在这个脚本里面写上用户名和密码,并加密保存. 加密采用了shc这个工具进行.该工具采用arc4的方式加密数据,而且比较简单,运行之后会根据输入的脚本(svn.sh)生成两个文件: svn.sh.x这个是加密后的可执行程序,svn.sh.x.c这个是那个可执行程序的C源码.最终运行只需要

使用shc工具加密shell脚本详解_linux shell

Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件.经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束).   下面就说明一下shc的安装,参数,以及使用示例: 下载安装: (官网下载地址: http://www.datsi.fi.upm.es/~frosal/sources/) 复制代码 代码如下: # wget http://www.datsi

Shell脚本编程学习入门 01

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne A

一键启动集群的shell脚本

一键启动集群的shell脚本,包括HDFS HA + YARN相关所有程序,FBI00X是主机名,供大家参考: #!/bin/bash echo "-------------------------Step1----------------------------" echo "Now,starting Zookeeper." ssh FBI001 $ZOOKEEPER_HOME/bin/zkServer.sh start ssh FBI002 $ZOOKEEPER

Linux常用的oracle监控shell脚本

本文介绍了8个常用的监控数据shell脚本.首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本.网上也有好 多类似的文章,但基本上都不能正常运行,花点时间重新整理了下,以后就能直接使用了. 一.文章介绍8个重要的脚本来监控Oracle数据库: 1.检查实例的可用性 2.检查监听器的可用性 3.检查alert日志文件中的错误信息 4.在存放log文件的地方满以前清空旧的log文件 5.分析table和index以获得更好的性能 6.检查表空间的使用情况