使用 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 脚本的主要内容,如果未能解决你的问题,请参考以下文章