首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux高铁项目的部署环境

来讲讲是怎么改善部署环境的: 这里使用到了一个shell脚本,简介一下shell脚本shell script,shell脚本与windows/dos下的批处理相似,也就是用各类命令预先放入到一个文件里...比用其它编程程序编辑的程序效率更高,毕竟它使用Linux/Unix下的命令。 换一种说法也就是,shell script是利用shell的功能缩写的一个程序,这个程序是使用纯文本文件。...条件以及逻辑推断等重要功能。...让使用者可以直接以shell来敲代码,而不必使用类似C程序语言等传统程序编写的语法。 shell就简单的介绍到这里。如今直接贴上shell脚本(tom.sh)里的内容 #!...然后上传 service tomcat start这时候,我们项目的war上传成功,開始启动服务,接着又是等待服务开启 这里做了一个优化,由于我们的程序中使用到了6002port,所以假设服务开启完成

60010

Kali Linux Web渗透测试手册(第二版) - 7.4 - Linux上的权限提升

上传文件,打开系统shell使用meterpreter中的shell命令)并使用/ tmp / unix-privesc-checkstandard运行脚本。 以下屏幕截图显示了该过程: 3....重新启动服务器Kali Linux中使用ssh登录sshhacker@192.168.56.12,然后使用在步骤5中设置的密码。如果询问是否接受主机证书,请键入yes并按Enter键。 9....unix-privesc-check是一个shell脚本,它自动查找系统中的某些配置,特征和参数,这些配置,特性和参数可能允许受限用户访问未授权的资源,例如属于其他用户程序的文件。...分析了unix-privesc-check的结果,我们决定修改在启动时以高权限运行的脚本,并向其添加两个命令。第一个是创建属于admin,adm和root组的用户,另一个这样的用户设置密码。...这两个条件攻击者添加恶意文件打开了大门,该恶意文件的名称与特权程序所需的名称相同,位于将要查看的位置由操作系统文件的实际位置之前,强制易受攻击的程序处理攻击者文件的内容而不是合法的文件。

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

渗透测试学习人员的福利~ 有彩蛋

实战演练 建议前两个配方,即利用Shellshock执行命令以及使用Metasploit创建和捕获反向shell开始之前完成,尽管可以从远程服务器上的任何有限shell获得相同的结果。...上传文件,打开系统shell使用meterpreter中的shell命令)并使用/ tmp / unix-privesc-checkstandard运行脚本。 以下屏幕截图显示了该过程: ?...重新启动服务器Kali Linux中使用ssh登录sshhacker@192.168.56.12,然后使用在步骤5中设置的密码。如果询问是否接受主机证书,请键入yes并按Enter键。 9....分析了unix-privesc-check的结果,我们决定修改在启动时以高权限运行的脚本,并向其添加两个命令。第一个是创建属于admin,adm和root组的用户,另一个这样的用户设置密码。...这两个条件攻击者添加恶意文件打开了大门,该恶意文件的名称与特权程序所需的名称相同,位于将要查看的位置由操作系统文件的实际位置之前,强制易受攻击的程序处理攻击者文件的内容而不是合法的文件。

57820

Linux Shell编程

文件中定义TOMCAT_HOME环境变量 查看环境变量TOMCAT_HOME的值 另外一个shell程序中使用TOMCAT_HOME 注意:输出TOMCAT_HOME环境变量前,需要让其生效 source.../myshell.sh 100 200,这个就是一个执行shell的命令行,可以myshell脚本中获取到参数信息 # 基本语法 n(功能描述:n数字,0代表命令本身, 功能描述这个变量代表命令行中所有的参数...案例演示:一个shell脚本中简单使用一下预定义变量preVar.sh #!...验证(0true,>1false) 判断语句 常用判断条件 = 字符串比较 两个整数的比较 -lt 小于 -le 小于等于 little equal..."" fi # 流程控制 # if判断 基本语法 if [ 条件判断式 ] then 代码 fi 或者,多分支 if [ 条件判断式 ] then 代码 elif [ 条件判断式

36.3K20

Shell编程汇总——持续更新

指定的文件目录存在时返回 -e # (*)当file存在并且是正规文件时返回 -f # 当由pathname指定的文件目录存在并且设置了SGID位时返回 -g # 当file存在并且是符号链接文件时返回...,该选项一些老系统上无效 -h # 当由pathname指定的文件目录存在并且设置了“粘滞”位时返回 -k # 当file存在并且是命令管道时返回 -p # 当由pathname指定的文件目录存在并且可读时返回...其中(()),不需要再将表达式里面的大小于符号转义,除了可以使用标准的数学运算符外,还增加了以下符号: 符号 描述 val++ 增 val– 减 ++val 先增 –val 先减 !...逻辑求反 - 位求反 ** 幂运算 << 左位移 >> 右位移 & 位布尔和 | 位布尔 [[]]中增加了另一个特性:模式匹配。...500(r-x------) 〇、三方件 1.Tomcat Tomcat的核心分为3个部分: (1)Web容器,处理静态页面; (2)Catalina,一个servlet容器; (3)还有就是

76810

使用Shell脚本简化Tomcat程序重启

本文中,我们将讨论使用Shell脚本简化Tomcat程序重启的方法,避免每次部署的时候,手敲命令出错等问题。...传统命令先看一下,传统方式,使用手敲命令,是如何部署war的,没有使用Shell脚本的情况下,重启Tomcat通常需要执行以下命令:线上程序停止,停止Tomcat,比如项目Tomcat/data/java...-9 程序pid重新启动Tomcat:/data/java/project/bin/startup.sh等待Tomcat完全启动(可以手动检查日志等待一段时间)。...Shell脚本为了简化这个过程,我们可以使用Shell脚本来自动化这些任务。以下是一个简单的Shell脚本,用于简化Tomcat程序的重启:#!...只要把脚本上传到服务器指定位置,然后,执行脚本既可。执行上述shell文件,自定义参数当前日期,可以作为备份文件的后缀。执行命令如下:.

16010

Shell流程控制

两个 -o 条件1 两个条件2 逻辑运算符,条件1 和 条件2 两个表达式中只要有一个成立,整个表达式就成立。...= 不等于 \< 小于 \> 大于 -z 字符串 字符串的长度零则 -n 字符串 字符串的长度不为零则 演示 control4.sh脚本代码 #!.../control2.sh then echo '两个文件都存在!' else echo '可能有一个两个文件不存在' fi Shell提供了与( -a )、( -o )、非( !...取值可以为变量常数。匹配发现取值符合某一模式,其间所有命令开始执行直至 ;; (类似break, 不可以替代否则语法报错)。取值将检测匹配的每一个模式。...命令 done 流程控制:until语句 介绍 until 也是循环结构语句, until 循环与 while 循环处理方式上刚好相反, 循环条件false会一致循环, 条件true停止循环

2.5K40

Linux之Shell编程

变量输出环境变量) source 配置文件 (功能描述: 让修改的配置信息立即生效) echo $变量名 (功能描述: 查询环境变量的值) image.png 快速入门 /etc/profile...文件中定义 TOMCAT_HOME 环境变量 image.png 查看环境变量 TOMCAT_HOME 的值 echo $TOMCAT_HOME 另外一个 shell 程序中使用 TOMCAT_HOME...image.png 注意:输出 TOMCAT_HOME 环境变量前,需要让其生效 source /etc/profile 1.5 位置参数变量 1.5.1 介绍 ​ 当我们执行一个 shell 脚本时.../myshell.sh 100 200 , 这个就是一个执行 shell 的命令行, 可以 myshell 脚本中获取到参数信息 1.5.2 基本语法 指令 描述 $n 功能描述: n 数字, $0...) 1.6.2 应用实例 一个 shell 脚本中简单使用一下预定义变量 image.png 1.7 运算符 1.7.1 基本语法 “((运算式))” “[运算式]” expr m + n 注意

1.9K20

shell基础 — 基本语法

等号右边若有空格的话,需要加上引号(单引号双引号都是可以的)。shell 中可以变量名前加上 $ 字符来取变量的值。用一个简单的例子演示一下: #!...test 命令可以使用条件类型有三类:字符串比较、算术比较和与文件有关的条件测试。 1)字符串比较 表达式 结果 string1 = string2 如果两个字符串相同则结果 string1 !...= string2 如果两个字符串不同则结果 -n string 如果字符串不为空则结果 -z string 如果字符串空(null),则结果   使用方法如下: str1="tongye...这也说明了变量两边加上双引号的重要性。 3)文件条件测试 文件条件测试 结果 -d file 如果文件是一个目录,则结果 -e file 如果文件存在,则结果。...语句中,若判断条件,则执行循环体;until 语句中,若判断条件,则停止执行循环体。

3.2K30

Linux中编写Shell脚本

当命令程序语句不在命令行下执行,而是通过一个程序文件来执行时,该程序文件就被称为Shell脚本。...3、source script-name . script-name 这种方法通常是使用source “.”(点号)读入加载指定的Shell脚本文件,然后依次执行指定的Shell脚本中的语句。...1、一个规范的Shell脚本第一行会指出由哪个程序(解释器)来执行脚本中的内容,这一行内容Linux bash的编程一般:#!/bin/bash #!...function is …… # Version:1.1 4、shell脚本中尽量不用中文注释,尽量用英文注释,防止本机切换系统环境中文乱码的困扰。...[]]中使用的比较符号 说明 -a && and ,与,两端都为,才 -o || or ,, 两端有一个,就为 !

7.2K10

shell基础知识

然后直接在命令提示符下输入shell脚本文件名。 2 退出出口状态 一个UNIX进程命令终止运行时,将会自动地向父进程返回一个出口状态。如果进程成功执行完毕,将会返回一个数值0的出口状态。...shell脚本中,可以利用“exit[n]”命令终止执行shell脚本的同时,向调用脚本的父进程返回一个数值n的shell脚本出口状态。其中,n必须是一个位于0-255范围内的整数值。...-s file,如果给定的文件存在,且其大小大于0,则条件测试的结果。 -f file,如果给定的文件存在,且是一个普通文件,则条件测试的结果。...-d file,如果给定的文件存在,且是一个目录,则条件测试的结果。 -L file,如果给定的文件存在,且是一个符号链接文件,则条件测试的结果。...s1>s2,若给定的字符串s1大于字符串s2,则条件测试的结果比较字符串的test语句中,变量字符串表达式前后一定要加双引号。

93940

Java代码自动部署

言不多说,直接进入题。下面针对此次系列文章做一个简要的概述。...1、 使用Maven进行部署项目要求 1) 项目本身属于Maven项目(必要条件) 2) 需要部署的是war包 3) 引入插件 需要部署的项目的pom,xml文件中引入tomcat插件,project...【③使用Shell进行代码部署】 使用Shell脚本进行重新部署项目时,需要掌握Shell脚本的编写,Shell脚本需要完成以下功能: 1、 将代码clone到服务器指定目录 2、 根据pom.xml...“约定大于配置”及平时所看所想,在编写Shell脚本时可以提取可变多处使用的变量,使整个Shell脚本尽可能提炼成通用,以便类似项目部署可以使用现有脚本进行更改使用,减少重新编写新Shell脚本带来不可控的问题...另外,比如Jenkins.war的启动,我很自然的想到使用Shell脚本将它的启动、运行、重启等命令进行封装,并把它设置开机启动,我觉得这是一个优雅的方式,以后有类似的情况时,我也会考虑这么做。

2.7K20

ubuntu中安装tomcat

shell>sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat 上边的这个命令是添加一个系统用户tomcat,并且设置不可登录系统...的可执行权限Shell>sudo chmod 755 /etc/init.d/tomcat /etc/rc2.d/下设置一个/etc/init.d/tomcat 的软链接shell>cd /etc/rc2...而rc2.d中的2,表示这个目录下文件开机时的运行级别(runlevel)2 5.结束 重新启动系统 shell>sudo reboot –n, 启动,就可以FF中直接输入http://localhost...ubuntu中,还需要进行一步,就是把rc2.d中设置一个软链接 /etc/rc2.d目录下建立S16apache软联接到/etc/init.d/tomcat shell>cd /etc/rc2.d...而rc2.d中的2,表示这个目录下文件开机时的运行级别(runlevel)2] 四、结束 重新启动系统 shell>sudo reboot -n 启动,就可以FF中直接输入http://localhost

1.1K50

Windows Java Usage Tracker本地提权漏洞分析(CVE-2018-3211)

以安装Apache Tomcat(基于Java的开源工具)的系统例,重新启动服务,将创建文件global_javatracker.log,并在其中写入Java使用情况跟踪数据。...每次,Tomcat服务启动时,都会向该日志文件中写入新的跟踪信息。 下图是跟踪数据的示例,请注意这里是如何使用逗号分隔两个不同值的,是属性文件(分隔符配置)中定义。 ?...重新启动Tomcat服务,如何跟踪数据的代码段: ? 如上图所示,该行的末尾附加了一个带有null值的已配置跟踪属性com.anotherInterestingProperty= null。...攻击者可以系统的任意位置执行创建上述内容,或可编写脚本的文件。但是,如果攻击者想要成功利用这个漏洞做一些事情,还需要两个条件: 1、需要在关键位置(比如:自动启动脚本)中创建恶意文件。...接下来,我们再以默认Tomcat安装为例。安装Tomcat,并使用全局usagetracker.properties之后,跟踪日志会在Tomcat重新启动创建(如下图所示)。

1.3K20

shell编程:编程就是这么简单

脚本运行如下所示: 02 shell脚本基本结构 shell脚本两个基本结构就是判断结构和循环结构,判断结构使用方法如下所示: if [ 判断条件 ]; then 执行命令1 elif [ 判断条件...exit 1 fi 运行示例如下: if可以使用的判断符号有: ①字符串判断 str1== str2 当两个串有相同内容、长度时 str1!...非 while循环结构使用方法如下: while [ 条件 ] do 执行命令 done 或者更为简单的可以命令行执行的: while 条件; do 执行命令; done 下面是一个选择食物的selectfood...shell脚本中,命令行参数可以直接加在脚本后面,脚本使用默认变量“$n”来调用(n非负整数),下面通过一个小例子来了解shell脚本命令行参数使用方法: echo $0 echo $1 echo...getopts包含两个内置变量,OPTARG和OPTIND。OPTARG就是将选项后面的参数保存在这个变量当中;OPTIND:这个表示命令行的下一个选项参数的位置。

79240

Windows Java Usage Tracker本地提权漏洞分析

以安装Apache Tomcat(基于Java的开源工具)的系统例,重新启动服务,将创建文件global_javatracker.log,并在其中写入Java使用情况跟踪数据。...每次,Tomcat服务启动时,都会向该日志文件中写入新的跟踪信息。 下图是跟踪数据的示例,请注意这里是如何使用逗号分隔两个不同值的,是属性文件(分隔符配置)中定义。 ?...重新启动Tomcat服务,如何跟踪数据的代码段: ? 如上图所示,该行的末尾附加了一个带有null值的已配置跟踪属性com.anotherInterestingProperty= null。...攻击者可以系统的任意位置执行创建上述内容,或可编写脚本的文件。但是,如果攻击者想要成功利用这个漏洞做一些事情,还需要两个条件: 1、需要在关键位置(比如:自动启动脚本)中创建恶意文件。...接下来,我们再以默认Tomcat安装为例。安装Tomcat,并使用全局usagetracker.properties之后,跟踪日志会在Tomcat重新启动创建(如下图所示)。

95020

【DB笔试面试275】 与SHELL脚本相关的一些笔试面试题(目前36道,后续持续更新)

答案:一个SHELL脚本就是一个文本文件,它包含一个多个命令。系统管理员会经常需要使用多个命令来完成一项任务,此时可以添加这些所有命令一个文本文件(SHELL脚本)中来完成这些日常工作任务。...答案:一个SHELL脚本时,如果想要检查前一命令是否执行成功,那么可以使用“$?”来检查前一条命令的结束状态。...题7、SHELL脚本中如何比较两个数字?...表达式假 test 表达式1 –a 表达式2 两个表达式都为 test 表达式1 –o 表达式2 两个表达式有一个 2)判断字符串...答案:do-while语句类似于while语句,但检查条件语句之前先执行命令。do-while语句的语法: do { 命令 } while (条件) 题24、SHELL脚本中如何定义一个函数?

86630

Linux的Shell编程语法集锦

【GiantPandaCV导语】相信linux服务器环境下完成算法开发和部署的同学,都有使用shell来实现部分自动化功能的经历,本文就来给大家分享我总结的一些shell语法知识,希望对大家有帮助。...一、shell文件运行 写好的文件保存为*.sh 文件加好运行权限,就是可以用Bash运行的脚本程序了 chmod +x yourshell.sh ....数组 bash仅支持一维数组 A=(B C D E F) A[0]=B A[1]=E A[3]=F 可以不使用连续下标 读取 {A[@]} 表示获取所有元素 shell 传递参数 $0 脚本名...返回上一条指令的代码 当前脚本的进程标识号() $_最后一条指令的最后一个参数 三、shell 基础运算符 算数运算符shell原生不支持数学计算,可通过awkexpr实现,或者使用(()),在内层小括号内...,$#会重定向当前参数数量 $$当前执行脚本的进程标识号# 此处就是一个for循环,一个一个的拿出调用脚本时传入的参数for file in "$@"; do grep foobar

1.6K30

shell脚本控制服务的启动和关闭 - 具备详细案例

背景 最近工作中使用的自动化脚本涉及的一个功能是通过shell脚本来控制进程的重启(因为自己以前写过, 但是因为归纳总结做的不到位,导致找不到原来的笔记了)只能从网上搜下大概的,然后根据自己的理解重新整理下了...本次的需求: 实现一个shell脚本来控制服务的启动, 如果该服务之前未运行, 通过该脚本可将服务运行起来;如果该服务已处于运行状态, 那么通过该脚本可将服务重新启动!...即将各种操作得到的pid赋值给pid变量 shell判空 if [ !...\n" fi 本代码块中, 如果能查找到tomcat的pid, 那么if [ -z "$pid" ];thenFasel, 去反为True, 进入到then后面的判断语句, 根据tomcat的pid...-z "$pid" ]可以动态的获取pid变量的值放入判断语句中 单引号: 将里面的内容就认为是一个字符串, 不会动态的使用里面的变量的值.例如,echo 'pid',输出结果 pid 「shell脚本中输出换行符

2.6K20
领券