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

环 境

Centos8

安装 shc

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

创建一个 shell 脚本

下面创建一个脚本文件:

[root@localhost ~]# vim welcome.sh#!/bin/sh
echo "Welcome to linux world"

使用 shc 加密该脚本文件

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

[root@localhost scripts]# shc -v -f welcome.sh
shc shll=sh
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc   welcome.sh.x.c -o welcome.sh.x
shc: strip welcome.sh.x
shc: chmod ug=rwx,o=rx welcome.sh.x

  • welcome.sh 是原始的未加密shell脚本
  • welcome.sh.x 是二进制格式的加密shell脚本
  • welcome.sh.x.c 是welcome.sh文件的C源代码。编译该C源代码以创建上面的加密的welcome.sh.x文件。

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

[root@localhost scripts]# file welcome.sh
welcome.sh: POSIX shell script, ASCII text executable
[root@localhost scripts]# file welcome.sh.x
welcome.sh.x: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=35e0e2569eca90774e379d6fef51ad6fedf346f5, stripped
[root@localhost scripts]# file welcome.sh.x.c
welcome.sh.x.c: C source, ASCII text
[root@localhost scripts]#

执行加密后的 shell 脚本

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

[root@localhost scripts]# ./welcome.sh.x
Welcome to linux world

指定Shell脚本的过期时间

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

# 删除之前创建的.x , .x.c文件
[root@localhost scripts]# rm -rf welcome.sh.x*
# 创建带有过期时间的加密脚本
[root@localhost scripts]# shc -e 01/02/2021 -v -f welcome.sh
shc shll=sh
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc   welcome.sh.x.c -o welcome.sh.x
shc: strip welcome.sh.x
shc: chmod ug=rwx,o=rx welcome.sh.x


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

[root@localhost scripts]# ./welcome.sh.x
./welcome.sh.x: has expired!
Please contact your provider jahidulhamid@yahoo.com


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

[root@localhost scripts]# shc -e 01/02/2021 -m "Please contact admin@example.com!" -v -f welcome.sh
shc shll=sh
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc   welcome.sh.x.c -o welcome.sh.x
shc: strip welcome.sh.x
shc: chmod ug=rwx,o=rx welcome.sh.x

如何使用 SHC 加密 Shell 脚本相关推荐

  1. 使用shc加密shell脚本

    转自:http://www.cnblogs.com/dba001/archive/2011/01/17/1937768.html 采用shc工具加密Shell脚本,以提高shell脚本文件的安全性. ...

  2. linux shc shell脚本_使用shc工具加密shell脚本详解

    Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件.经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x ...

  3. shell实例第18讲:利用gzexe加密shell脚本

    利用gzexe加密shell脚本 gzexe_test.sh内容如下: #!/bin/bashecho "gzexe test!" 结果: 使用gzexe加密shell脚本命令:g ...

  4. c语言加密shell脚本,shell脚本加密

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

  5. shc将shell脚本转成二进制文件

    最近在做一个项目,需要把shell脚本自定拷贝到目标客户端中执行,但是并不想让用户知道脚本的源码,于是采用shc对shell脚本进行处理 首先装个wget工具 yum -y install wget ...

  6. shc加密shell原理

    有人想加密自己的perl脚本,有人想加密自己的php,有人认为bash编程并不是真正的编程,因为它们的源代码都是可见的,不像c程序那样,一旦经过编译就再也不可读了...其实这是一种误区,其一就是c语言 ...

  7. linux 脚本加密,Shell脚本的4种加密详细教程

    这篇文章上次修改于 1159 天前,可能其部分内容已经发生变化,如有疑问可询问作者. 普及,shell脚本是什么? Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就 ...

  8. shc加密(仅仅对shell脚本加密)

    shc加密(仅仅对shell脚本加密) shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP. 密码等不希望公开的问题 ...

  9. linux shc shell脚本_CentOS 下使用 shc 加密你的 linux shell 脚本

    说明: shc(generic shell script compiler)是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这样可以很好地隐藏脚本中IP. ...

最新文章

  1. 万众期待的《Cisco/H3C路由器配置与管理完全手册》开锣了
  2. js自动判断浏览器类型跳转到手机版
  3. 前端学习(2966):登录页面的制作
  4. cadence PCB板级设计
  5. 【Liunx】Linux 系统目录结构
  6. html地址--待更新
  7. 匿名内部类 可以访问外部类_Java 内部类与外部类的互访使用小结
  8. Leetcode每日一题:52.N-Queens II(N皇后Ⅱ)
  9. 小米手机查看linux代码,如何识别小米设备-MIUI系统
  10. 3-(基础入门篇)稍微了解一下(需要知道的关于Lua的一些基本的知识)
  11. HDU 2511二分+汉诺塔
  12. OPPO A55刷root获取magisk权限OPPO A55 root教程
  13. 2020信工所复试问题回顾与收集
  14. GaRy-Liang的linux成长日记2-系统安装
  15. InnoDB Adaptive Hash Index(AHI)
  16. 网页编程语言,网页编程语言大全介绍。
  17. 大数据项目实战之阿里云服务器
  18. 为什么到苹果官方售后更换电池,要求用户退出ID呢?
  19. ES插入date类型数据报错failed to parse field [case_date] of type [date]
  20. 华为手机如何用微信与电脑连接服务器,华为手机也能连接苹果电脑,只需这样做...

热门文章

  1. 韦东山嵌入式第一期学习笔记DAY_2——6_2_使用eop烧写裸板程序
  2. 啊哈C语言,逻辑的挑战
  3. PS新建文档Ctrl+N
  4. python处理excel现有的脚本_Python脚本操作Excel实现批量替换功能
  5. 使用USB转TTL下载器将固件烧写到STM32F103C8T6最小系统板中
  6. [理财日记] 简七小姐的理财日记(一)---教你省力地记账
  7. 谢霆锋爱用的千元铁锅,在天猫国际俘获了一大波潮男
  8. “早安、午安、晚安” Game Jam
  9. Ventoy主题美化,以及自行制作方法
  10. 80C51单片机:5.独立键盘、矩阵键盘检测