linux系统外部命令执行方法及装置制造方法及图纸

技术编号:18084371 阅读:50 留言:0更新日期:2018-05-31 12:46
本发明专利技术公开了一种linux系统外部命令执行方法及装置,属于系统安全管理领域。所述linux系统外部命令执行方法包括:生成目标文件,所述目标文件用于执行系统外部命令;定时检测是否存在目标文件;当检测到存在目标文件时,对目标文件进行校验;若校验成功,则根据目标文件执行外部命令。本发明专利技术通过定时运行的脚本实现外部命令的安全执行,无需额外部署脚本服务器和开发资源;且由脚本语言动态生成敏感信息,并在读取后删除,提高代码的安全性;适用于所有禁用系统外部命令函数的linux服务器,应用范围广,增加整体的安全性。

【技术实现步骤摘要】
linux系统外部命令执行方法及装置
本专利技术涉及系统安全管理领域,特别涉及一种linux系统外部命令执行方法及装置。
技术介绍
Linux命令分为内部命令和外部命令,内部命令是在系统启动时就调入内存的,外部命令是用户需要时从硬盘中读入内存的,需要执行系统外部命令函数来调用外部命令,在linux服务器下运行的脚本语言,出于安全考虑一般会禁用执行系统外部命令的函数,如php的exec、system等函数,禁用的设置方法为打开配置文件,查找到disable_functions,在该函数下添加需禁用的函数名。在这种情况下,为了满足脚本语言执行外部系统命令的需求,现有的解决方案是单独搭建一台或一套内部的专用服务器,出于安全考虑,该专用服务器会设置iptables,从而只允许内部服务器访问,该专用服务器不会禁止脚本语言执行外部系统命令,当外部服务器即可被用户访问的服务器需要执行外部系统命令时,会通过调用该专用服务器预设的接口来实现。现有技术至少存在以下缺点:1、需要额外部署一台或一套服务器,增加硬件成本;2、额外部署的服务器限定ip,因此维护该服务器需要跳板机或VPN(VirtualPrivateNetwork,虚拟专用网络)来实现,增加维护成本;3、为了实现连接超时、防注入等功能,需要实现一套接口中间件,增加开发成本;4、由于该服务器没有禁用脚本语言执行系统外部命令的函数,所以一旦发生注入就可以执行所有系统命令,存在安全隐患。
技术实现思路
为了解决现有技术的问题,本专利技术提供了一种linux系统外部命令执行方法及装置,无需额外部署脚本服务器和开发资源,代码安全性高,应用范围广。所述技术方案如下:一方面,本专利技术提供了一种linux系统外部命令执行方法,所述方法包括:生成目标文件,所述目标文件用于执行系统外部命令;定时检测是否存在目标文件;当检测到存在目标文件时,对目标文件进行校验;若校验成功,则根据目标文件执行外部命令。具体地,所述目标文件为命令文件或配置信息文件,进一步地,所述生成目标文件包括:在有写权限的系统目录下写入执行命令或者新建配置信息文件。进一步地,本专利技术提供的linux系统外部命令执行方法还包括:在执行目标文件之后,删除所述目标文件。进一步地,所述根据目标文件执行外部命令包括:若所述目标文件为命令文件,则执行相应命令;若所述目标文件为配置信息文件,则读取配置信息,进而根据所述配置信息生成命令并执行命令。进一步地,所述对目标文件进行校验包括:读取所述目标文件,若所述目标文件的内容为合法命令或者根据所述目标文件的内容能够生成合法命令,则校验成功,否则校验失败。具体地,对目标文件进行校验之前还包括:预设合法命令库,所述合法命令库用于存放设定的合法命令。进一步地,所述定时检测是否存在目标文件包括:通过定时脚本检查目标文件,所述定时脚本由定时任务配置命令管理。另一方面,本专利技术提供了一种系统外部命令执行装置,所述装置包括:写入模块,用于生成目标文件,所述目标文件用于执行系统外部命令;检测模块,用于定时检测是否存在目标文件;校验模块,用于对目标文件进行校验;执行模块,用于根据目标文件执行外部命令。具体地,所述目标文件为命令文件或配置信息文件,进一步地,所述写入模块用于在有写权限的系统目录下写入执行命令或者新建配置信息文件。进一步地,本专利技术提供的linux系统外部命令执行装置还包括删除模块,用于在执行目标文件之后,删除所述目标文件。可选地,若所述目标文件为命令文件,则执行模块执行相应命令;若所述目标文件为配置信息文件,则执行模块读取配置信息,进而根据所述配置信息生成命令并执行命令。具体地,所述校验模块的校验内容包括:读取所述目标文件,若所述目标文件的内容为合法命令或者根据所述目标文件的内容能够生成合法命令,则校验成功,否则校验失败。进一步地,本专利技术提供的linux系统外部命令执行装置还包括预设模块,用于预设合法命令库,以存放设定的合法命令。进一步地,所述检测模块包括定时任务子模块,所述定时任务子模块利用定时任务配置命令实现脚本定时执行检查目标文件操作。本专利技术提供的技术方案带来的有益效果如下:1)无需额外部署服务器资源,降低硬件成本;2)只需要一个实现定时运行的shell脚本,无需额外的开发资源;3)调用系统命令需要的敏感信息由脚本语言动态生成,所以这些敏感信息只存储在脚本语言中,方便配置提高代码安全,核心脚本语言文件在运行或读取后就会被删除,提高数据安全性;4)所有服务器都可以禁用脚本语言调用系统外部命令的函数,增加整体安全性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的linux系统外部命令执行方法及装置的实施环境示意图;图2是本专利技术实施例提供的linux系统外部命令执行方法的流程图;图3是本专利技术实施例提供的基于web运维平台的数据库备份的方法示意图;图4是本专利技术实施例提供的基于web服务的指令执行方法的流程图;图5是本专利技术实施例提供的linux系统外部命令执行装置的模块架构图;图6是本专利技术实施例提供的linux系统外部命令执行装置的计算机终端的硬件结构框图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本专利技术提供了一种linux系统外部命令执行方法及装置,参考图1可以看出,其示出了本专利技术实施例提供的linux系统外部命令执行方法及装置所涉及的实施环境的结构示意图。该实施环境包括配置有用户终端101、执行装置102和数据库103。其中,执行装置102如下面装置实施例所述,每个用户终端101通过执行装置102进行linux系统外部命令的执行。执行装置102可以配置在用户终端101中,也可以独立于用户终端101而配置。实施环境中可以有一至多个执行装置102,组成一个执行装置的集群,当需要进行linux系统外部命令执行的用户终端101的个数较多时,多个执行装置102可以并行执行操作,从而提高外部命令执行的速度。数据库103中存储有执行装置102在执行外部命令过程中所需的数据,如数据库的用户名、密码及数据库名字等等。数据库10本文档来自技高网
...
linux系统外部命令执行方法及装置

【技术保护点】
一种linux系统外部命令执行方法,其特征在于,所述方法包括:生成目标文件,所述目标文件用于执行系统外部命令;定时检测是否存在目标文件;当检测到存在目标文件时,对目标文件进行校验;若校验成功,则根据目标文件执行外部命令。

【技术特征摘要】
1.一种linux系统外部命令执行方法,其特征在于,所述方法包括:生成目标文件,所述目标文件用于执行系统外部命令;定时检测是否存在目标文件;当检测到存在目标文件时,对目标文件进行校验;若校验成功,则根据目标文件执行外部命令。2.根据权利要求1所述的linux系统外部命令执行方法,其特征在于,所述目标文件为命令文件或配置信息文件,所述生成目标文件包括:在有写权限的系统目录下写入执行命令或者新建配置信息文件。3.根据权利要求1所述的linux系统外部命令执行方法,其特征在于,所述方法还包括:在执行目标文件之后,删除所述目标文件。4.根据权利要求2所述的linux系统外部命令执行方法,其特征在于,所述根据目标文件执行外部命令包括:若所述目标文件为命令文件,则执行相应命令;若所述目标文件为配置信息文件,则读取配置信息,进而根据所述配置信息生成命令并执行命令。5.根据权利要求2或4所述的linux系统外部命令执行方法,其特征在于,所述对目标文件进行校验包括:读取所述目标文件,若所述目标文件的内容为合法命令或者根据所述目标文件的内容能够生成合法命令,则校验成功,否则校验失败。6.根据权利要求5所述的linux系统外部命令执行方法,其特征在于,对目标文件进行校验之前还包括:预设合法命令库,所述合法命令库用于存放设定的合法命令。7.根据权利要求1-6中任意一项所述的linux系统外部命令执行方法,其特征在于,所述定时检测是否存在目标文件包括:通过定时脚本检查目标文件,所述定时脚本由定时任...

【专利技术属性】
技术研发人员:刘阳
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1