CN112650557A - 一种命令执行方法以及装置 - Google Patents
一种命令执行方法以及装置 Download PDFInfo
- Publication number
- CN112650557A CN112650557A CN202011580906.7A CN202011580906A CN112650557A CN 112650557 A CN112650557 A CN 112650557A CN 202011580906 A CN202011580906 A CN 202011580906A CN 112650557 A CN112650557 A CN 112650557A
- Authority
- CN
- China
- Prior art keywords
- target command
- parameters
- command
- target
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 238000002955 isolation Methods 0.000 abstract description 9
- 101150098958 CMD1 gene Proteins 0.000 description 44
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 description 44
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种命令执行方法以及装置,该方法包括:注册与宿主机内的应用容器引擎docker之间的会话总线;在监听到会话总线中的目标命令以及目标命令的参数时,验证目标命令以及目标命令的参数是否被篡改;在确定目标命令以及目标命令的参数未被篡改的情况下,检测目标命令以及目标命令的参数是否具备执行权限;在检测出目标命令以及目标命令的参数具备执行权限的情况下,执行目标命令,获得执行结果;将执行结果上传至会话总线,以使docker通过会话总线获取并展示执行结果。这样,可以将命令行部署在docker中,便于应用隔离,提高了安全性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种命令执行方法以及装置。
背景技术
白盒交换机系统中的命令行与传统的类CISCO命令行差别较大,运维人员熟悉系统命令的成本较高。为了避免不同功能间相互影响,特别是避免功能升级导致系统重启或者服务重启等情况,系统会将不同的应用部署在多个应用容器引擎docker中保证功能的独立。现有技术中,命令行系统直接部署在宿主机上,虽然可以直接调用宿主机中的命令,但是无法做到应用隔离,安全性较低。
发明内容
本申请提供了一种命令执行方法以及装置,以解决现有技术中,命令行系统直接部署在宿主机上,虽然可以直接调用宿主机中的命令,但是无法做到应用隔离,安全性较低的问题。
第一方面,本发明提供了一种命令执行方法,应用于宿主机中的hostserver服务端,包括:
注册与所述宿主机内的应用容器引擎docker之间的会话总线;
在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;
在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;
在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;
将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。
可选的,所述验证所述目标命令以及所述目标命令的参数是否被篡改,包括:
根据所述目标命令在cmdlist中查找所述目标命令对应的目标路径;
查找所述目标路径下的目标命令文件;
计算所述目标命令文件的目标md5码;
将所述目标md5码与md5sum中预先存储的md5码进行比对;
在所述目标md5码与所述md5sum中预先存储的md5码相匹配的情况下,确定所述目标命令以及所述目标命令的参数未被篡改。
可选的,所述检测所述目标命令以及所述目标命令的参数是否具备执行权限,包括:
将所述目标命令的参数与所述cmdlist中所述目标命令对应的预设参数进行比对;
在所述目标命令的参数与所述cmdlist中所述目标命令对应的预设参数相匹配的情况下,确定所述目标命令以及所述目标命令的参数具备所述执行权限。
可选的,在所述将所述执行结果上传至所述会话总线的步骤之后,所述方法还包括:
累加所述cmdlist中所述目标命令的使用次数。
可选的,在所述累加所述cmdlist中所述目标命令的使用次数的步骤之后,所述方法还包括:
根据累加得到的所述cmdlist中所述目标命令的使用次数,调整所述目标命令在所述cmdlist中的位置。
可选的,所述执行结果为JSON格式。
第二方面,本发明还提供了一种命令执行方法,应用于宿主机内的docker,包括:
接收用户输入的目标命令以及所述目标命令的参数;
判断所述目标命令的参数的类型是否满足预设参数类型;
在所述目标命令的参数的类型满足所述预设参数类型的情况下,将所述目标命令以及所述目标命令的参数上传至会话总线,以使所述宿主机中的hostserver服务端通过所述会话总线监听所述目标命令以及所述目标命令的参数,并执行所述目标命令,获得执行结果;
接收所述hostserver服务端通过所述会话总线上传的所述执行结果;
展示所述执行结果。
第三方面,本发明还提供了一种命令执行装置,包括:
注册模块,用于注册与所述宿主机内的应用容器引擎docker之间的会话总线;
验证模块,用于在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;
检测模块,用于在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;
执行模块,用于在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;
上传模块,用于将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。
第四方面,本发明还提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机程序时实现第一方面所述的命令执行方法的步骤。
第五方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的命令执行方法的步骤。
由以上技术方案可知,本发明实施例提供的一种命令执行方法以及装置,注册与所述宿主机内的应用容器引擎docker之间的会话总线;在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。这样,docker可以将目标命令以及目标命令的参数上传至会话总线,进而hostserver服务端可以在监听到会话总线中的目标命令以及目标命令的参数时,执行目标命令,获得执行结果,并由docker通过会话总线获取并展示执行结果。即可以将命令行部署在docker中,便于应用隔离,提高了安全性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种命令执行方法的流程图;
图2为本发明提供的另一种命令执行方法的流程图;
图3为本发明提供的一种命令执行装置的结构图;
图4为本发明提供的一种电子设备的实施例示意图;
图5为本发明提供的一种计算机可读存储介质的实施例示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
参见图1,图1是本发明提供的一种命令执行方法的流程图,应用于宿主机中的hostserver服务端。如图1所示,包括以下步骤:
步骤101、注册与所述宿主机内的应用容器引擎docker之间的会话总线。
示例性的,在宿主机启动之后,宿主机中的hostserver服务端可以注册与宿主机内的应用容器引擎docker之间的会话总线,完成注册后可以监听此会话总线上的消息。同时,hostserver服务端会创建子进程初始化日志记录模块,然后根据预设的用户权限及白名单模板创建admin用户对应admin.cmdlist的链接cmdlist,以及创建每个命令文件的md5码列表admin.md5sum的链接md5sum。
步骤102、在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的。
示例性的,用户可以输入admin用户名及密码,登陆后可以直接启动命令行docker中的交互界面,此时可输入命令进行操作。
例如,可以输入目标命令cmd1以及该目标命令cmd1的参数,命令生成工具可以对输入的目标命令cmd1进行语法及参数类型的检查。在检查通过后可以调用在命令生成工具中定义的DBus客户端处理程序将目标命令cmd1以及该目标命令cmd1的参数生成消息,并将该消息发送至会话总线上。hostserver服务端在监听到该消息后,可以将目标命令cmd1以及该目标命令cmd1的参数从消息中剥离出来,并验证目标命令cmd1以及目标命令cmd1的参数是否被篡改。目标命令cmd1以及目标命令cmd1的参数为docker上传至会话总线的。
可选的,所述验证所述目标命令以及所述目标命令的参数是否被篡改,包括:
根据所述目标命令在cmdlist中查找所述目标命令对应的目标路径;
查找所述目标路径下的目标命令文件;
计算所述目标命令文件的目标md5码;
将所述目标md5码与md5sum中预先存储的md5码进行比对;
在所述目标md5码与所述md5sum中预先存储的md5码相匹配的情况下,确定所述目标命令以及所述目标命令的参数未被篡改。
进一步的,hostserver服务端可以根据目标命令cmd1在cmdlist中查找目标命令cmd1对应的目标路径,然后,可以查找目标路径下的目标命令文件。接下来,可以计算目标命令文件的目标md5码,并将目标md5码与md5sum中预先存储的md5码进行比对。在目标md5码与md5sum中预先存储的md5码相匹配的情况下,可以确定目标命令cmd1以及目标命令cmd1的参数未被篡改。这样,通过验证目标命令cmd1以及目标命令cmd1的参数是否被篡改,可以保证信息交互的安全性。
步骤103、在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限。
示例性的,在确定目标命令cmd1以及目标命令cmd1的参数未被篡改的情况下,可以检测目标命令cmd1以及目标命令cmd1的参数是否具备执行权限。
可选的,所述检测所述目标命令以及所述目标命令的参数是否具备执行权限,包括:
将所述目标命令的参数与所述cmdlist中所述目标命令对应的预设参数进行比对;
在所述目标命令的参数与所述cmdlist中所述目标命令对应的预设参数相匹配的情况下,确定所述目标命令以及所述目标命令的参数具备所述执行权限。
进一步的,可以将目标命令cmd1的参数与cmdlist中目标命令cmd1对应的预设参数进行比对。在目标命令cmd1的参数与cmdlist中目标命令cmd1对应的预设参数相匹配的情况下,可以确定目标命令cmd1以及目标命令cmd1的参数具备执行权限。
步骤104、在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果。
示例性的,在检测出目标命令cmd1以及目标命令cmd1的参数具备执行权限的情况下,可以执行目标命令cmd1,获得执行结果。
可选的,所述执行结果为JSON格式。
示例性的,上述执行结果可以为JSON格式。
步骤105、将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。
示例性的,hostserver服务端可以将执行结果上传至会话总线,以使docker通过会话总线获取并展示该执行结果。
可选的,在所述将所述执行结果上传至所述会话总线的步骤之后,所述方法还包括:
累加所述cmdlist中所述目标命令的使用次数。
进一步的,日志记录模块还可以累加cmdlist中目标命令cmd1的使用次数。
可选的,在所述累加所述cmdlist中所述目标命令的使用次数的步骤之后,所述方法还包括:
根据累加得到的所述cmdlist中所述目标命令的使用次数,调整所述目标命令在所述cmdlist中的位置。
进一步的,还可以根据累加得到的cmdlist中目标命令cmd1的使用次数,调整目标命令cmd1在cmdlist中的位置。例如,目标命令cmd1的使用次数越多,则可以将目标命令cmd1调整至cmdlist的越靠前的位置。也即日志记录模块会记录输入命令的热度,每隔预设周期可以自动调整命令白名单模板中的命令顺序,热度高的命令会被调整至白名单admin.cmdlist及admin.md5sum列表的顶端,以提高分析效率。
需要说明的是,现有技术中,命令行系统直接部署在宿主机上,虽然可以直接调用宿主机中的命令,但是无法做到应用隔离,安全性较低。
而在本申请中,docker可以将目标命令以及目标命令的参数上传至会话总线,进而hostserver服务端可以在监听到会话总线中的目标命令以及目标命令的参数时,执行目标命令,获得执行结果,并由docker通过会话总线获取并展示执行结果。即可以将命令行部署在docker中,便于应用隔离,提高了安全性。
由以上技术方案可知,本发明实施例提供的一种命令执行方法,应用于宿主机中的hostserver服务端,注册与所述宿主机内的应用容器引擎docker之间的会话总线;在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。这样,docker可以将目标命令以及目标命令的参数上传至会话总线,进而hostserver服务端可以在监听到会话总线中的目标命令以及目标命令的参数时,执行目标命令,获得执行结果,并由docker通过会话总线获取并展示执行结果。即可以将命令行部署在docker中,便于应用隔离,提高了安全性。
参见图2,图2是本发明提供的另一种命令执行方法的流程图,应用于宿主机内的docker。如图2所示,包括以下步骤:
步骤201、接收用户输入的目标命令以及所述目标命令的参数。
示例性的,在宿主机启动的情况下,宿主机内的docker可以接收用户输入的目标命令cmd1以及目标命令cmd1的参数。
步骤202、判断所述目标命令的参数的类型是否满足预设参数类型。
示例性的,可以判断目标命令cmd1的参数的类型是否满足预设参数类型。
步骤203、在所述目标命令的参数的类型满足所述预设参数类型的情况下,将所述目标命令以及所述目标命令的参数上传至会话总线,以使所述宿主机中的hostserver服务端通过所述会话总线监听所述目标命令以及所述目标命令的参数,并执行所述目标命令,获得执行结果。
示例性的,在目标命令cmd1的参数的类型满足预设参数类型的情况下,可以将目标命令cmd1以及目标命令cmd1的参数上传至会话总线,以使宿主机中的hostserver服务端通过会话总线监听目标命令cmd1以及目标命令cmd1的参数,并执行目标命令cmd1,获得执行结果。
步骤204、接收所述hostserver服务端通过所述会话总线上传的所述执行结果。
示例性的,宿主机内的docker可以接收hostserver服务端通过会话总线上传的执行结果。
步骤205、展示所述执行结果。
示例性的,宿主机内的docker可以展示上述执行结果。
由以上技术方案可知,本发明实施例提供的一种命令执行方法,应用于宿主机内的docker,接收用户输入的目标命令以及所述目标命令的参数;判断所述目标命令的参数的类型是否满足预设参数类型;在所述目标命令的参数的类型满足所述预设参数类型的情况下,将所述目标命令以及所述目标命令的参数上传至会话总线,以使所述宿主机中的hostserver服务端通过所述会话总线监听所述目标命令以及所述目标命令的参数,并执行所述目标命令,获得执行结果;接收所述hostserver服务端通过所述会话总线上传的所述执行结果;展示所述执行结果。这样,docker可以将目标命令以及目标命令的参数上传至会话总线,进而hostserver服务端可以在监听到会话总线中的目标命令以及目标命令的参数时,执行目标命令,获得执行结果,并由docker通过会话总线获取并展示执行结果。即可以将命令行部署在docker中,便于应用隔离,提高了安全性。
参见图3,图3是本发明提供的一种命令执行装置的结构图。如图3所示,命令执行装置300包括注册模块301、验证模块302、检测模块303、执行模块304和上传模块305,其中:
注册模块301,用于注册与所述宿主机内的应用容器引擎docker之间的会话总线;
验证模块302,用于在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;
检测模块303,用于在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;
执行模块304,用于在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;
上传模块305,用于将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。
命令执行装置300能够实现图1的方法实施例中命令执行装置实现的各个过程,为避免重复,这里不再赘述。且命令执行装置300可以实现docker可以将目标命令以及目标命令的参数上传至会话总线,进而hostserver服务端可以在监听到会话总线中的目标命令以及目标命令的参数时,执行目标命令,获得执行结果,并由docker通过会话总线获取并展示执行结果。即可以将命令行部署在docker中,便于应用隔离,提高了安全性。
请参阅图4,图4为本申请实施例提供的电子设备的实施例示意图。
如图4所示,本申请实施例提供了一种电子设备400,包括存储器410、处理器420及存储在存储器410上并可在处理器420上运行的计算机程序411,处理器420执行计算机程序411时实现以下步骤:
注册与所述宿主机内的应用容器引擎docker之间的会话总线;
在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;
在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;
在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;
将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。
在具体实施过程中,处理器420执行计算机程序411时,可以实现图1对应的实施例中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例中一种命令执行装置所采用的设备,故而基于本申请实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍,只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
请参阅图5,图5为本申请实施例提供的一种计算机可读存储介质的实施例示意图。
如图5所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现如下步骤:
注册与所述宿主机内的应用容器引擎docker之间的会话总线;
在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;
在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;
在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;
将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。
在具体实施过程中,该计算机程序511被处理器执行时可以实现图1对应的实施例中任一实施方式。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行如图1对应实施例中的命令执行方法中的流程。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修该或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种命令执行方法,应用于宿主机中的hostserver服务端,其特征在于,包括:
注册与所述宿主机内的应用容器引擎docker之间的会话总线;
在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;
在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;
在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;
将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。
2.如权利要求1所述的方法,其特征在于,所述验证所述目标命令以及所述目标命令的参数是否被篡改,包括:
根据所述目标命令在cmdlist中查找所述目标命令对应的目标路径;
查找所述目标路径下的目标命令文件;
计算所述目标命令文件的目标md5码;
将所述目标md5码与md5sum中预先存储的md5码进行比对;
在所述目标md5码与所述md5sum中预先存储的md5码相匹配的情况下,确定所述目标命令以及所述目标命令的参数未被篡改。
3.如权利要求2所述的方法,其特征在于,所述检测所述目标命令以及所述目标命令的参数是否具备执行权限,包括:
将所述目标命令的参数与所述cmdlist中所述目标命令对应的预设参数进行比对;
在所述目标命令的参数与所述cmdlist中所述目标命令对应的预设参数相匹配的情况下,确定所述目标命令以及所述目标命令的参数具备所述执行权限。
4.如权利要求2或3所述的方法,其特征在于,在所述将所述执行结果上传至所述会话总线的步骤之后,所述方法还包括:
累加所述cmdlist中所述目标命令的使用次数。
5.如权利要求4所述的方法,其特征在于,在所述累加所述cmdlist中所述目标命令的使用次数的步骤之后,所述方法还包括:
根据累加得到的所述cmdlist中所述目标命令的使用次数,调整所述目标命令在所述cmdlist中的位置。
6.如权利要求5所述的方法,其特征在于,所述执行结果为JSON格式。
7.一种命令执行方法,应用于宿主机内的docker,其特征在于,包括:
接收用户输入的目标命令以及所述目标命令的参数;
判断所述目标命令的参数的类型是否满足预设参数类型;
在所述目标命令的参数的类型满足所述预设参数类型的情况下,将所述目标命令以及所述目标命令的参数上传至会话总线,以使所述宿主机中的hostserver服务端通过所述会话总线监听所述目标命令以及所述目标命令的参数,并执行所述目标命令,获得执行结果;
接收所述hostserver服务端通过所述会话总线上传的所述执行结果;
展示所述执行结果。
8.一种命令执行装置,其特征在于,包括:
注册模块,用于注册与所述宿主机内的应用容器引擎docker之间的会话总线;
验证模块,用于在监听到所述会话总线中的目标命令以及所述目标命令的参数时,验证所述目标命令以及所述目标命令的参数是否被篡改,其中,所述目标命令以及所述目标命令的参数为所述docker上传至所述会话总线的;
检测模块,用于在确定所述目标命令以及所述目标命令的参数未被篡改的情况下,检测所述目标命令以及所述目标命令的参数是否具备执行权限;
执行模块,用于在检测出所述目标命令以及所述目标命令的参数具备所述执行权限的情况下,执行所述目标命令,获得执行结果;
上传模块,用于将所述执行结果上传至所述会话总线,以使所述docker通过所述会话总线获取并展示所述执行结果。
9.一种电子设备,包括存储器、处理器,其特征在于,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6中任一项所述的命令执行方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的命令执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011580906.7A CN112650557B (zh) | 2020-12-28 | 2020-12-28 | 一种命令执行方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011580906.7A CN112650557B (zh) | 2020-12-28 | 2020-12-28 | 一种命令执行方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650557A true CN112650557A (zh) | 2021-04-13 |
CN112650557B CN112650557B (zh) | 2022-12-27 |
Family
ID=75363580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011580906.7A Active CN112650557B (zh) | 2020-12-28 | 2020-12-28 | 一种命令执行方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650557B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271169A (zh) * | 2023-11-03 | 2023-12-22 | 广东保伦电子股份有限公司 | 一种面向容器调用宿主机命令的通讯方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764985A (zh) * | 2019-10-11 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种命令行记录的方法、系统、设备及可读存储介质 |
CN111858179A (zh) * | 2020-07-24 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种基于容器引擎提升系统稳定性的方法和装置 |
-
2020
- 2020-12-28 CN CN202011580906.7A patent/CN112650557B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764985A (zh) * | 2019-10-11 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种命令行记录的方法、系统、设备及可读存储介质 |
CN111858179A (zh) * | 2020-07-24 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种基于容器引擎提升系统稳定性的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271169A (zh) * | 2023-11-03 | 2023-12-22 | 广东保伦电子股份有限公司 | 一种面向容器调用宿主机命令的通讯方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112650557B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3575975B1 (en) | Method and apparatus for operating smart network interface card | |
CN109376078B (zh) | 移动应用的测试方法、终端设备及介质 | |
CN110908909B (zh) | 自动化测试方法、装置、存储介质及设备 | |
US20140280913A1 (en) | Device and settings management platform | |
CN112395616B (zh) | 漏洞处理的方法、装置及计算机设备 | |
JP6290297B2 (ja) | 変更または破損した外部デバイスを検出するためのシステム及び方法 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN104765678A (zh) | 对移动终端设备上的应用进行测试的方法及装置 | |
CN106302025B (zh) | 通信协议的自动化测试方法和装置 | |
CN111211929A (zh) | 故障定位方法、故障定位装置、控制设备及智能设备 | |
CN108306787B (zh) | 一种应用监测方法及相关设备 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
US20140189103A1 (en) | System for monitoring servers and method thereof | |
CN112650557B (zh) | 一种命令执行方法以及装置 | |
CN114510381A (zh) | 故障注入方法、装置、设备和存储介质 | |
CN114020678A (zh) | 服务器串行控制台重定向方法、装置、系统以及电子设备 | |
US10628583B2 (en) | Detecting a spoofed image in an information handling system | |
CN114911656A (zh) | 一种ipmi指令的自动化测试方法、单片机及相关装置 | |
CN114064510A (zh) | 功能测试方法、装置、电子设备和存储介质 | |
RU2671999C1 (ru) | Способ и система для диагностики мобильных вычислительных устройств | |
CN114968696A (zh) | 指标监控方法、电子设备及芯片系统 | |
CN117332412B (zh) | 一种针对数据安全系统的检测方法、装置及电子设备 | |
CN113840139B (zh) | 一种电视信号功率实时检测方法、装置、设备及存储介质 | |
EP4160454A1 (en) | Computer-implemented systems and methods for application identification and authentication | |
CN108280343B (zh) | 安卓环境下检测应用安全性的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |