文档首页 > > 移植指南> 移植Shc> 移植指导

移植指导

分享
更新时间:2020/11/30 GMT+08:00

介绍

简要介绍

Shc用来对shell脚本进行加密,它将shell脚本转换为一个可执行的二进制文件,从而避免shell脚本中的用户名、密码等重要信息暴露。

编写语言:C/C++

一句话概述:shell脚本加密工具

建议的版本

建议使用版本为“shc-3.8.9”

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.xlarge.2 | 4vCPUs | 8GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

版本

下载地址

CentOS

7.5

在公共镜像中已提供。

Kernel

4.14.0

在公共镜像中已提供。

获取源码

下载和解压Shc软件包。

cd /usr/local/src

wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz

tar -zxvf shc-3.8.9.tgz

编译和安装

编译和安装Shc。

mkdir /usr/local/man/man1/ -p

cd /usr/local/src/shc-3.8.9

make install

回显内容如下:

[root@ecs-001 shc-3.8.9]# make install
***Installing shc and shc.1 on /usr/local
***Do you want to continue? 

输入“y”,继续执行。

回显内容如下:

***Do you want to continue? y
install -c -s shc /usr/local/bin/
install -c -m 644 shc.1 /usr/local/man/man1/

运行和验证

  1. 创建测试脚本“hello.sh”

    cd /usr/local/src

    touch hello.sh

    chmod +x hello.sh

    vi hello.sh

    输入以下内容后,退出保存

    #!/bin/bash
    echo "test shc"

  2. 执行“hello.sh”

    ./hello.sh

    回显内容如下:

    [root@ecs-001 src]# ./hello.sh 
    test shc

  3. 采用Shc对“hello.sh”加密。

    cd /usr/local/src/

    shc -v -f hello.sh

    参数说明:

    • “-v”表示显示加密过程。
    • “-f”指定需要加密的脚本。

    回显内容如下:

    [root@ecs-001 src]# shc -v -f hello.sh 
    shc shll=bash
    shc [-i]=-c
    shc [-x]=exec '%s' "$@"
    shc [-l]=
    shc opts=
    shc: cc  hello.sh.x.c -o hello.sh.x
    shc: strip hello.sh.x
    shc: chmod go-r hello.sh.x

    加密完成后,会产生两个新的文件,一个为“hello.sh.x”,一个为“hello.sh.x.c”

    其中“hello.sh.x”是新产生的二进制可执行文件,“hello.sh.x.c”是新产生的c源文件

  4. 查看产生的新文件。

    ll | grep hello

    回显内容如下:

    [root@ecs-001 src]# ll | grep hello
    -rwxr-xr-x  1 root root       28 Jul 10 16:50 hello.sh
    -rwx--x--x  1 root root    68496 Jul 10 17:05 hello.sh.x
    -rw-r--r--  1 root root     9605 Jul 10 17:05 hello.sh.x.c

  5. 执行“hello.sh.x”测试。

    ./hello.sh.x

    回显内容类似如下,表示加密成功。

    [root@ecs-001 src]# ./hello.sh.x 
    test shc

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问