linux shc shell脚本_Linux系统中Shell脚本使用Shc和gzexe加密/解密
许多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加密/解密相关推荐
- linux mysql 僵尸进程_Linux 系统中僵尸进程
Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸. 僵尸 ...
- linux java 僵尸进程_Linux 系统中僵尸进程
Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.配图源 ...
- linux ftp下载文件_Linux系统中10个使用Wget命令下载文件示例
wget 是一个从网络上自动下载文件的命令行工具,支持通过 HTTP.HTTPS.FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理.它是一个非交互式工具,非常适合通过脚本或者在 ...
- 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 ...
- linux mutt安装配置_Linux系统中安装配置Mutt来作为Gmail客户端
mutt是一个Linux终端下的著名的邮件客户端,如你所愿,mutt就是一个邮件客户端.没有其他浮华的功能,它可以帮助你提升效率,至于帮助你装X只能算是mutt的特殊加成. 由于mutt是一个有着un ...
- linux系统下的shell是什么,Linux系统中shell各命令的区别有什么?
今天小编要跟大家分享的文章是关于Linux系统中shell各命令的区别有什么?喜欢Linux系统并对此感兴趣的小伙伴们快来一起看一看吧~希望对你有所帮助. 1.xargs作用: (1)将前一个命令的标 ...
- linux shc shell脚本_Linux运维 | Shell脚本(1)
将自己之前的shell脚本笔记搬到segmentfault,顺带复习一下shell基础.笔记大多是读<>时所记录,推荐想学shell的可以去看看.2019-1-26 系列笔记传送门: sh ...
- linux系统中shell脚本最全详解二shell条件判断语法介绍函数分析
目录 一.shell判断句 1.if条件判断语句 2.test判断 二.语法介绍 1.shell运算符 2.shell循环语句 三.shell函数 一.shell判断句 1.if条件判断语句 if语法 ...
- linux 文件大小_linux系统中查看目录大小的du命令常
CentOS7.3学习笔记总结(四十六)-linux系统中查看目录大小的du命令常用方法 在windows系统中我们想查看目录或文件的大小,直接右键属性,并且还能显示别的属性,在linux系统中,一般 ...
- linux中负载值为多少正常_Linux系统中load average平均负载
系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数.如果一个进程满足以下条件则其就会位于运行队列中: 1)它没有在等待I/O操作的结果 2)它没有主动进入等待状态(也就是没有调用'wait') ...
最新文章
- python运行过程中会被编译成二进制_Python代码在运行过程中,会被编译成二进制代码。_学小易找答案...
- Linux中kill,pkill,killall和xkill命令汇总讲解
- Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例之详细攻略
- C语言strftime()函数 (格式化时间)(注意第二个参数size_t maxsize一定要大于第三个参数const char *format指向字符串的长度)
- 全局容器的创建和使用---单件模式和IOC的容器的应用
- php 上一个月的开始和结束,php获取上一个月的开始与结束时间遇到的问题
- 9.03-Springboot要点记录
- 字典的增删改查/元组的创建
- IOS-C语言第12天,(函数指针)Point and macro(宏)
- 如何合理的规划一次 JVM 性能调优
- 你真的了解Java系统启动流程吗?mysql不包含多个字符
- UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 (中途相遇)
- win10玩cf不能全屏_游戏莫名卡顿三招搞定!Win10游戏优化教程
- html文件图标变成白色,win10系统html文件图标变成空白的操作办法
- 苹果mac专业的视频转码器:HandBrake
- 杨辉三角简单规律 2021-7-30
- 怎样从 Google Play 下载 Android 程序到电脑上
- Android通知不显示横幅的一个坑
- mmhmm重塑视频会议、2020新款emoji可爱来袭、微软将推云游戏服务xCloud等| Decode the Week...
- 【Qt实战派学习群】 建立啦!