许多Shell脚本中设置了重要的数据和密码,又想让这些数据和密码不会让别人轻易看到,我们可以通过gzexe、Shc两种加密方法对脚本加密。

使用gzexe加密

gzexe加密很简单,并且gzexe是系统自带,所以我们不需要安装任何东西,只要在SSH中输入gzexe 加密的脚本。

这里需要注意,需要把加密的脚本放在root目录下

例如我们需要对“2019.sh”这个脚本进行加密,那么代码是这样的gzexe 2019.sh

加密以后2019.sh为加密后的文件,2019.sh~为加密前的文件

gzexe解密

命令为gzexe -d 2019.sh

代码为gzexe -d 2019.sh

解密以后2019.sh为解密后的文件,2019.sh~为解密前的文件

SHC加密

首先先安装SHCwget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz

tar -zvxf shc-3.8.9.tgz

mkdir -p /usr/local/man/man1

cd shc-3.8.9

make test

rpm -q gcc gcc-4.4.7-3.el6.x86_64

cp -av shc-3.8.9.c shc.c

make

make install//如果出现you want to continue? 请输入y

chmod +x /bin/shc

shc

cd

注意在上面的make install后面//注释部分删除掉

在SSH中输入需要加密的脚本命令(需要把加密文件放在root目录下)

命令:shc -r -f 2019.shshc -r -f 2019.sh

执行后生成两个文件,其中2019.sh为原文件,2019.sh.x为加密后的文件,2019.sh.c为C语言可执行的文件

时效性加密

SHC可以设置时效性加密方法

以2019.sh为例shc -e 09/07/2019 -m -f 2019.sh

选项“-e”指定过期时间,格式为“日/月/年”;选项“-m”指定过期后执行此Shell程序的提示信息。

如果在过期后执行,则会有如下提示./abc.sh.x

./abc.sh.x: has expired!(文件已经过期)

使用以上方法要注意,需防止用户更改系统时间,可以通过在程序中加入自动更新系统时间的命令来解决此问题。

SHC解密

先下载安装unshcyum -y install git

git clone https://github.com/yanncam/UnSHc.git

下载后使用命令进入解密的文件夹cd UnSHc/latest

同时我们需要把SHC加密后的文件上传到root/UnSHc/latest目录下,上传以后以2019.sh.x为例./unshc.sh 2019.sh.x

解密以后也会生成两个文件,其中2019.sh为解密后的文件,2019.sh.x为解密前的文件

因为shc加密后并不是可执行的二进制文件,所以shc加密后还需要进行gzexe加密。同理,解密过程也是先解密gzexe后再解密shc

linux shc shell脚本_Linux系统中Shell脚本使用Shc和gzexe加密/解密相关推荐

  1. linux mysql 僵尸进程_Linux 系统中僵尸进程

    Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸. 僵尸 ...

  2. linux java 僵尸进程_Linux 系统中僵尸进程

    Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.配图源 ...

  3. linux ftp下载文件_Linux系统中10个使用Wget命令下载文件示例

    wget 是一个从网络上自动下载文件的命令行工具,支持通过 HTTP.HTTPS.FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理.它是一个非交互式工具,非常适合通过脚本或者在 ...

  4. linux查看mysql版本_Linux系统中查看MySQL版本的五种方法

    1.在Linux终端窗口中,输入mysql -V查看MySQL版本信息[sky@qin ~]# mysql -V mysql Ver 14.14 Distrib 5.1.29-rc, for pc-l ...

  5. linux mutt安装配置_Linux系统中安装配置Mutt来作为Gmail客户端

    mutt是一个Linux终端下的著名的邮件客户端,如你所愿,mutt就是一个邮件客户端.没有其他浮华的功能,它可以帮助你提升效率,至于帮助你装X只能算是mutt的特殊加成. 由于mutt是一个有着un ...

  6. linux系统下的shell是什么,Linux系统中shell各命令的区别有什么?

    今天小编要跟大家分享的文章是关于Linux系统中shell各命令的区别有什么?喜欢Linux系统并对此感兴趣的小伙伴们快来一起看一看吧~希望对你有所帮助. 1.xargs作用: (1)将前一个命令的标 ...

  7. linux shc shell脚本_Linux运维 | Shell脚本(1)

    将自己之前的shell脚本笔记搬到segmentfault,顺带复习一下shell基础.笔记大多是读<>时所记录,推荐想学shell的可以去看看.2019-1-26 系列笔记传送门: sh ...

  8. linux系统中shell脚本最全详解二shell条件判断语法介绍函数分析

    目录 一.shell判断句 1.if条件判断语句 2.test判断 二.语法介绍 1.shell运算符 2.shell循环语句 三.shell函数 一.shell判断句 1.if条件判断语句 if语法 ...

  9. linux 文件大小_linux系统中查看目录大小的du命令常

    CentOS7.3学习笔记总结(四十六)-linux系统中查看目录大小的du命令常用方法 在windows系统中我们想查看目录或文件的大小,直接右键属性,并且还能显示别的属性,在linux系统中,一般 ...

  10. linux中负载值为多少正常_Linux系统中load average平均负载

    系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数.如果一个进程满足以下条件则其就会位于运行队列中: 1)它没有在等待I/O操作的结果 2)它没有主动进入等待状态(也就是没有调用'wait') ...

最新文章

  1. python运行过程中会被编译成二进制_Python代码在运行过程中,会被编译成二进制代码。_学小易找答案...
  2. Linux中kill,pkill,killall和xkill命令汇总讲解
  3. Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例之详细攻略
  4. C语言strftime()函数 (格式化时间)(注意第二个参数size_t maxsize一定要大于第三个参数const char *format指向字符串的长度)
  5. 全局容器的创建和使用---单件模式和IOC的容器的应用
  6. php 上一个月的开始和结束,php获取上一个月的开始与结束时间遇到的问题
  7. 9.03-Springboot要点记录
  8. 字典的增删改查/元组的创建
  9. IOS-C语言第12天,(函数指针)Point and macro(宏)
  10. 如何合理的规划一次 JVM 性能调优
  11. 你真的了解Java系统启动流程吗?mysql不包含多个字符
  12. UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 (中途相遇)
  13. win10玩cf不能全屏_游戏莫名卡顿三招搞定!Win10游戏优化教程
  14. html文件图标变成白色,win10系统html文件图标变成空白的操作办法
  15. 苹果mac专业的视频转码器:HandBrake
  16. 杨辉三角简单规律 2021-7-30
  17. 怎样从 Google Play 下载 Android 程序到电脑上
  18. Android通知不显示横幅的一个坑
  19. mmhmm重塑视频会议、2020新款emoji可爱来袭、微软将推云游戏服务xCloud等| Decode the Week...
  20. 【Qt实战派学习群】 建立啦!

热门文章

  1. Win10系统 禁止某个程序\软件联网
  2. pyenv管理虚拟环境
  3. Mac系统瘦身存储清理
  4. Linux 命令大全完整版
  5. xp计算机护眼模式,xp系统桌面上老是显示护眼模式!(图)
  6. RocketMQ存储篇——整体结构以及MappedFile讲解
  7. Echarts 关系图谱示例
  8. Aqua Comms携手Ciena 测试海底光缆网络150Gbps波长传输
  9. 创业维艰:为啥大多数创业者都不开心?
  10. 终端的乐趣--Linux下有趣的终端命令或者工具【转】