日常编写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. android gradle tools 3.X中dependencies, implementation和compile区别

    在3.0版本中,compile 指令被标注为过时方法,而新增了两个依赖指令,一个是implement 和api,这两个都可以进行依赖添加,但是有什么区别呢? api 指令 完全等同于compile指令 ...

  2. shell编程 之 echo命令和printf命令

    1 echo命令基本情况: echo显示普通字符:echo "i am studying shell"(有木有引号都可以) 支持转义字符:echo "\"hel ...

  3. 20165221 JAVA第一周学习心得及体会

    JAVA入门的理论学习 在JAVA2使用教程的网课学中,分为以下几个模块讲解的 JAVA的地位 JAVA的特点 安装JDK(Java Develepement Kit) Java程序的开发步骤 简单的 ...

  4. Java HashMap工作原理及实现[转]

    原文:http://yikun.github.io/2015/04/01/Java-HashMap%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE ...

  5. SpringSocial简介

    ⒈常用的pom依赖 <dependency> <groupId>org.springframework.social</groupId> <artifactI ...

  6. python的pymysql使用方法【转】

    前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.6.6.m ...

  7. 华为Qinq的配置

    作者:邓聪聪 qinq(dot1q in dot1q)是一种二层环境中的二层vpn技术,用于二层ISP网络将相同客户网络中的vlan帧,再打一层vlan-tag的手段实现同一个客户的不同站点之间的数据 ...

  8. 左侧滚动条js

    <script> var left = document.getElementById('main-left'); var right = document.getElementById( ...

  9. struts2框架之国际化(参考第二天学习笔记)

    国际化 1. 回忆之前的国际化 1). 资源包(key=字符串) > 命名:基本名称+local部分.properties,res_zh.properties,res_zh_CN.propert ...

  10. codeforces 412div.2

        A CodeForces 807A Is it rated?     B CodeForces 807B T-Shirt Hunt     C CodeForces 807C Success ...