gzexe 助shell脚本加密 01

gzexe shell脚本加密 01

一、  简介

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

二、         实验测试开始:


  1. 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. 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 "$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

  3. 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 ~]#

  4. 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 ~]#


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20674423/viewspace-1385551/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20674423/viewspace-1385551/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本课程详细讲解了以下内容:    1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程    2.使用Eclipse快速开发JSP、编码问题、JSP页面元素以及request对象、使用request对象实现注册示例    3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题     4.session与cookie问题及application、cookie补充说明及四种范围对象作用域     5.JDBC原理及使用Statement访问数据库、使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别     6.JDBC调用存储过程和存储函数、JDBC处理大文本CLOB及二进制BLOB类型数据     7.JSP访问数据库、JavaBean(封装数据和封装业务逻辑)     8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析     9.MVC案例、三层架构详解、乱码问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)    1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)     11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet     12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载乱码问题     13.EL表达式语法、点操作符和中括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove     14.过滤器、过滤器通配符、过滤器链、监听器     15.session绑定解绑、钝化活化     16.以及Ajax的各种应用     17. Idea环境下的Java Web开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值