日常编写shell脚本时会写一些账号和密码写入脚本内,但是不希望泄露账号密码,所以对shell脚本进行加密变成可执行文件。

主要使用 shc 对 Linux shell 脚本加密,shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,可以避免我们shell脚本中保密信息被公开。

一、官网下载shc

shc下载地址:
    http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz   

二、安装shc

1、解压
    [root@iZ2ze2pbbffhmn53ao4tuaZ ~]# tar -zxvf shc-3.8.9.tgz
    shc-3.8.9/
    shc-3.8.9/match
    shc-3.8.9/shc-3.8.9.c
    shc-3.8.9/CHANGES
    shc-3.8.9/test.csh
    shc-3.8.9/test.bash
    shc-3.8.9/shc.c
    shc-3.8.9/shc.1
    shc-3.8.9/shc.html
    shc-3.8.9/pru.sh
    shc-3.8.9/test.ksh
    shc-3.8.9/makefile
    shc-3.8.9/shc.README
    shc-3.8.9/Copying
2、创建安装目录
    [root@iZ2ze2pbbffhmn53ao4tuaZ shc-3.8.9]# mkdir -p /usr/local/man/man1        #shc将安装命令到/usr/local/bin/目录下;将帮助文档存放在/usr/local/man/man1/目录下,如果系统中无此目录,安装时会报错
3、安装shc
    [root@iZ2ze2pbbffhmn53ao4tuaZ shc-3.8.9]# make install
    cc -Wall  shc.c -o shc
    ***    Installing shc and shc.1 on /usr/local
    ***    ¿Do you want to continue? y
    install -c -s shc /usr/local/bin/
    install -c -m 644 shc.1 /usr/local/man/man1/
  #安装过程中会提示是否继续,如果直接回车会报错,所以输入y或者yes

三、生成加密文件

  1、shc 常用参数

-e date              #指定执行文件过期日期
-m message           #指定过期时的提示的信息
-f script           #指定要编译的shell的路径及文件名(必须选参数) -r Relax security.      #允许相同操作系统的下执行 -v Verbose compilation   #打印编译的详细信息

  2、生成加密文件

[root@iZ2ze2pbbffhmn53ao4tuaZ ~]# shc -v -r -f pandadata-baby-d.sh  #显示编译信息,允许多系统执行
shc shll=bash
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc  pandadata-baby-d.sh.x.c -o pandadata-baby-d.sh.x
shc: strip pandadata-baby-d.sh.x
shc: chmod go-r pandadata-baby-d.sh.x

  生成加密文件以后,会生成两个文件后缀为pandadata-baby-d.sh.x和后缀pandadata-baby-d.sh.x.c的两个文件, 其中pandadata-baby-d.sh.x是加密后的可执行的二进制文件,用./pandadata-baby-d.sh.x即可运行,pandadata-baby-d.sh.x.c是生成pandadata-baby-d.sh.x的C语言版本的原文件,如果要提供给其他人执行,这样他只能看见脚本执行的结果就就无法查看到了执行文件的内容了,这样大大的加强了信息的保护。  

  如果需要给文件设置一个有效日期,这个时候我们增加时间参数-e即可,如果过期了我们需要给个提示信息增加-m参数即可。

shc -e 15/11/2017 -m "脚本已经过期"  pandadata-baby-d.sh

shell 脚本加密的更多相关文章

  1. shell脚本加密方式

    --作者:飞翔的小胖猪 --创建时间:2021年5月17日 --修改时间:2021年5月17日 说明 shell作为Linux操作系统中原生的语言环境,由于其简单.便捷.可以移植等特性常被运维人员作为 ...

  2. shell脚本加密

      如何保护自己编写的shell程序要保护自己编写的shell脚本程序,方法有很多,最简单的方法有两种:1.加密 2.设定过期时间,下面以shc工具为例说明: 一.下载安装shc工具shc是一个加密s ...

  3. 转载:Shell 脚本加密 - 略有修改

    shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. shc 安装 yum -y install shc 如果yum不能安装,请移步官方下载rpm包 http ...

  4. Linux之Shell 脚本加密工具-shc

    Much effort, much prosperity. 为什么要加密Shell脚本呢?当然是为了安全! 可能脚本里面涉及到密码之类的就需要进行加密了 一.下载安装shc工具 要保护自己编写的she ...

  5. linxu下的shell脚本加密,shell生成二机制可执行文件

    再安全的加密也抵不过逆向,斗智斗勇吧,持续加密持续破解 1.简单的加密:gzexe file.sh 2.使用shc加密:下载地址:http://www.datsi.fi.upm.es/~frosal/ ...

  6. shell脚本 加密备份MySQL数据库

    1.加密备份为.bak文件(实际只是个.zip文件) #!/bin/bash # $:IP地址 # $:用户名 # $:数据库密码 # $:数据库名 # $:加密密码 # $:备份文件名 mysqld ...

  7. shell脚本基础知识

    虽然现在能在Linux系统下生存,但是自觉效率太低,和高手有很大的差距. 这就是关于Linux的知识太过匮乏,有很多事情知道该怎么做,但是就是没法在Linux下实现,为了提升工作效率,必须要接触Lin ...

  8. 对shell脚本进行加密

    用shell脚本对系统进行自动化维护,简单,便捷而且可移植性好.但shell脚本是可读写的,很有可能会泄露敏感信息,如用户名,密码,路径,IP等.同样,在shell脚本运行时会也泄露敏感信息.请问如何 ...

  9. 优化对称加密的 shell 脚本

    前言 之前一篇文章<shell 脚本实现文件对称加密>中,讲述了如何用 shell 脚本实现对称加密. 之后写管理密码脚本时,发觉该脚本的处理速度非常慢,而其原因就在 shell 的处理命 ...

随机推荐

  1. 第六天-request response\04-response实现文件下载.avi--本人测试失败

    package cn.itcast.response; import java.io.FileInputStream;import java.io.IOException;import java.io ...

  2. 阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义

    分层领域模型规约: DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. DTO( Data Transfer Object):数据传输对象,Service或Ma ...

  3. C++11 override 和 final 关键字

    C++11之前,一直没有继承控制关键字.禁用一个类的进一步衍生是可能的但也很棘手.为避免用户在派生类中重载一个虚函数,你不得不向后考虑. C++ 11添加了两个继承控制关键字:override和fin ...

  4. 【VMware vSphere】VMware vSphere简单了解

    *什么是VMware vSphere           说VMware vSphere可能刚开始都是一脸懵逼,但是看到VMware时,首先想到的是不是VMware Workstation?也就是虚拟 ...

  5. DNS解析出现错误故障解决

    当DNS解析出现错误,例如把一个域名解析成一个错误的IP地址,或者根本不知道某个域名对应的IP地址是什么时,就无法通过域名访问相应的站点了,这就是DNS解析故障.出现DNS解析故障最大的症状就是访问站 ...

  6. 解决“错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题

    在Visual Studio 2017中调试VC++6.0代码,出现该问题,解决方案如下:(1)[项目]—>[属性]—>[C/C++]—> [常规]—>[调试信息格式]—> ...

  7. 【HAOI2008】硬币购物

    既然没人写扩欧,那我就来一发吧. 扩欧也还好,就是跑的有点慢,然后写的时候还有点烦,不过还是卡过去了. 考场上看到这道题又蒙了...怎么回事第一题又要爆零了? 然后我打了个暴力测了一下极限数据根本过不 ...

  8. JSP错误页面处理的两种方式

    JSP错误页面处理的两种方式: 方法1(真能针对单一页面生效,不推荐): 出错页面实例 <%@ page language="java" contentType=" ...

  9. gdb 调试程序步骤

    在程序a.c编译过程中加入调试信息: g++ -g -o a.debug a.c 启动gdb,在终端下输入:gdb 此时启动了gdb,在gdb中加载需要调试的程序,在终端输入命令: file a.de ...

  10. thymeleaf:日常使用总结

    1.th:href 获得当前的根路径 th:href="@{/}" 2.select输出并自动选中 <select class="form-control sele ...