使用 SHC 加密 Shell 脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 SHC 加密 Shell 脚本相关的知识,希望对你有一定的参考价值。

参考技术A 如何在Linux环境中加密shell脚本?shell脚本包含密码,不希望其他具有执行权限的人查看shell脚本并获取密码。可以安装使用shc工具,普通用户无法读取shc创建的加密Shell脚本。SHC是指:Shell脚本编译器(Shell Script Compiler)。

环 境

Centos8

安装 shc

[root@localhost ~]# yum -y install shc

创建一个 shell 脚本

下面创建一个脚本文件:

使用 shc 加密该脚本文件

如下所示,使用shc加密welcome.sh脚本。

可以使用 file 命令查看文件的类型:

执行加密后的 shell 脚本

现在,让我们执行加密的Shell脚本,确保能够运行:

指定Shell脚本的过期时间

使用shc,您还可以指定到期日期。即在这个到期日期之后,当有人尝试执行Shell脚本时,将收到错误消息。使用 shc -e 选项创建一个新的加密Shell脚本,指定到期日期。到期日期以dd/mm/yyyy 格式指定。

在此示例中,如果有人尝试执行welcome.sh.x脚本文件,会提示已过期。

如果要指定自定义到期消息,需要加入 -m 选项。

本文介绍了如何使用shc加密shell脚本。希望对你有帮助~

shell脚本加密形式

shell脚本在日常运维过程中显得尤为重要,通常我们在编写shel脚本中会涉及到很多参数包括密码等一些隐私信息,这个时需要将shell脚本加密,并且可执行结果。下面文章简介两种shell脚本加密方式:

shc加密方式

1、shc软件安装

cd /mnt //进入或者创建目录,即选择下载位置
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz //下载软件包
tar zxvf shc-3.8.9.tgz -C /opt //解压软件包

解压完成压缩包后先不着急安装,首先安装环境依赖包:

yum install gcc gcc-c++ make -y
cd /opt/shc-3.8.9
make install //执行安装

注:若安装时报如下错误,则需创建工作目录。
技术分享图片

mkdir -p /usr/local/man/man1 //创建软件默认工作目录
make install //再次安装即可

2、加密shell脚本

cd /opt
ls -l

-rw-r--r--. 1  root   root    38 6月  22 09:54 123.sh

shc -r -f 123.sh //对脚本进行shc加密
ls -l

-rwx--x--x. 1 root root 11184 6月 22 09:56 123.sh.x  //加密后的可执行的二进制文件
-rw-r--r--. 1 root root 9456 6月 22 09:56 123.sh.x.c  //生成123.sh.x的原文件(c语言)

./123.sh.x //执行加密后的shell脚本

this is test shell    //依旧可正常输出

gzexe加密方式

gzexe加密shell脚本方式为系统自带,其功能比起shc而言相对较弱,只能满足一般需求。

cd /opt
ls -l

-rw-r--r--. 1  root   root    38 6月  22 09:54 123.sh

gzexe 123.sh //加密文件
ls -l

-rw-r--r--. 1 root     root       864 6月  22 10:05 123.sh   //加密后文件
-rw-r--r--. 1 root     root        38 6月  22 09:54 123.sh~   //原文件备份文件

注:系统自带的gzexe程序,它不但加密,同时压缩文件,且加密后,原文件被备份成了123.sh~文件。

./123/sh

this is test shell    //依旧可正常输出

以上是关于使用 SHC 加密 Shell 脚本的主要内容,如果未能解决你的问题,请参考以下文章

Shell 脚本加密

求shell脚本加密方式,要权限那种,即是解密也要权限,谢谢。 gzexe、shc等方法试过了。

shell脚本加密形式

shell加密

Linux下PerlShell脚本加密方法

shell脚本加密