应用程序权限控制方法、装置及电子设备制造方法及图纸

技术编号:19745949 阅读:41 留言:0更新日期:2018-12-12 04:51
本发明专利技术提供了一种应用程序权限控制方法、装置及电子设备,涉及权限控制的技术领域,该方法包括读取并解析沙箱的运行参数和应用程序权限配置的元数据;根据运行参数初始化沙箱并创建沙箱进程;根据元数据创建命名空间进程;根据元数据在命名空间中创建临时文件系统;在命名空间中,根据临时文件系统创建应用程序进程并启动应用程序。本发明专利技术实施例通过读取并解析沙箱的运行参数和应用程序权限配置的元数据,初始化沙箱并创建沙箱进程、命名空间进程、临时文件系统、应用程序进程并启动应用程序,为应用程序运行构建一套上下文运行环境。

【技术实现步骤摘要】
应用程序权限控制方法、装置及电子设备
本专利技术涉及权限控制
,尤其是涉及一种应用程序权限控制方法、装置及电子设备。
技术介绍
基于容器技术实现的应用程序权限控制的原理主要是综合使用当前Linux主流的容器技术,为每个应用程序构建各自独立的虚拟运行环境,通过资源隔离、资源限制、资源配额等策略对应用程序的权限进行控制。其中,最主要的是基于Linux容器的虚拟化技术,其原理主要是通过隔离操作系统内核对象来实现安全性的隔离。通过运用命名空间和访问控制等技术,可以将原来的系统全局对象隔离到完全不同的命名空间中。其中,不同虚拟机之间是完全不可见的,且不能访问到命名空间之外的对象,全局对象在每个容器内本地化。Chroot(ChangeRoot,改变根目录)工具可以修改进程的根目录,创建一个与宿主系统隔离的新的文件系统环境,实现应用程序权限控制。系统经过chroot之后执行的程序访问到的根目录及文件将不再是旧系统根目录,而是新的指定的根目录。当应用程序的根目录改变之后,它不能访问新的根目录之外的文件,实现文件的隔离访问。然而,chroot只是创建了一个文件访问隔离容器,该容器无法隔离诸如用户权能、系统调用、进程、网络接口等资源,没有为应用程序提供上下文运行环境。针对上述现有技术中应用程序权限控制方法没有为应用程序提供上下文运行环境的问题,目前尚未提出有效解决方案。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种应用程序权限控制方法、装置及电子设备,为应用程序运行构建一套上下文运行环境。第一方面,本专利技术实施例提供了一种应用程序权限控制方法,包括:读取并解析沙箱的运行参数和应用程序权限配置的元数据;根据运行参数初始化沙箱并创建沙箱进程;根据元数据创建命名空间进程;根据元数据在命名空间中创建临时文件系统;在命名空间中,根据临时文件系统创建应用程序进程并启动应用程序。结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,方法还包括:退出应用程序,销毁沙箱。结合第一方面的第一种可能的实施方式,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,退出应用程序,销毁沙箱的步骤,包括:退出应用程序,并结束应用程序进程;结束命名空间进程以及沙箱进程。结合第一方面,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,沙箱进程用于存储命名空间进程的运行信息,并检测命名空间进程的运行状态;命名空间进程用于存储应用程序进程的运行信息,并检测应用程序进程的运行状态。结合第一方面,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,根据运行参数初始化沙箱并创建沙箱进程的步骤,包括:根据运行参数设置沙箱环境的设置参数;通过沙箱后端工具设置沙箱环境所需的权能;创建沙箱进程。结合第一方面,本专利技术实施例提供了第一方面的第五种可能的实施方式,其中,根据元数据在命名空间中创建临时文件系统的步骤,包括:在命名空间中创建根目录;在根目录创建第一子目录,并挂载主机系统文件到第一子目录;在根目录创建第二子目录,根据元数据挂载持久化层、应用程序文件系统和所需的主机系统文件;所需的主机系统文件为根据元数据从主机系统文件中确定的;卸载第一子目录。结合第一方面,本专利技术实施例提供了第一方面的第六种可能的实施方式,其中,根据临时文件系统创建应用程序进程并启动应用程序的步骤,包括:根据元数据配置过滤系统调用并设置环境变量;创建应用程序进程并启动应用程序。第二方面,本专利技术实施例还提供一种应用程序权限控制装置,包括:设置模块,用于读取并解析沙箱的运行参数和应用程序权限配置的元数据;沙箱模块,用于根据运行参数初始化沙箱并创建沙箱进程;命名空间模块,用于根据元数据创建命名空间进程;临时文件系统模块,用于根据元数据在命名空间中创建临时文件系统;应用程序模块,用于在命名空间中,根据临时文件系统创建应用程序进程并启动应用程序。第三方面,本专利技术实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面及其各可能的实施方式之一提供的方法的步骤。第四方面,本专利技术实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行第一方面及其各可能的实施方式之一提供的方法。本专利技术实施例带来了以下有益效果:本专利技术实施例提供的应用程序权限控制方法、装置及电子设备,通过读取并解析沙箱的运行参数和应用程序权限配置的元数据,初始化沙箱并创建沙箱进程、命名空间进程、临时文件系统、应用程序进程并启动应用程序,为应用程序运行构建一套上下文运行环境。本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种应用程序权限控制方法的流程图;图2为本专利技术实施例提供的一种临时文件系统创建方法的流程图;图3为本专利技术实施例提供的另一种应用程序权限控制方法的流程图;图4为本专利技术实施例提供的一种应用程序权限控制装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。目前Linux主流的容器技术为每个应用程序构建各自独立的虚拟运行环境,通过资源隔离、资源限制、资源配额等策略对应用程序的权限进行控制。其中,最主要的是基于Linux容器的虚拟化技术,这种虚拟化技术的原理是通过隔离操作系统内核对象来实现安全性的隔离。通过运用命名空间和访问控制等技术,可以将原来的系统全局对象隔离到完全不同的命名空间中。其中,不同虚拟机之间是完全不可见的,且不能访问到命名空间之外的对象,全局对象在每个容器内本地化。Chroot工具可以修改进程的根目录,创建一个与宿主系统隔离的新的文件系统环境,实现应用程序权限控制。系统经过chroot之后执行的程序访问到的根目录及文件将不再是旧系统根目录,而是新的指定的根目录。当应用程序的根目录改变之后,它不能访问新的根目录之外的文件,从而实现文件的隔离访问。然而,chroot只是创建了一个文件访问隔离容器,该容器没有为应用程序提供上下文运行环境。基于此,本专利技术实施例提供的一种应用程序权限控制方法、装置及电子设备,为应用程序运行构建一套上下文运行环境。为便于对本实施例进行理解,首先对本专利技术实施例所公开的一种应用程序权限控制方法进行详细介绍。实施例1本专利技术实施例提供了一种应用程序权限控制方法,参见图1所示的一种应用程序权限控制方法的流程图,包括如下步骤:步骤S102,读取并解析沙箱的运本文档来自技高网...

【技术保护点】
1.一种应用程序权限控制方法,其特征在于,包括:读取并解析沙箱的运行参数和应用程序权限配置的元数据;根据所述运行参数初始化所述沙箱并创建沙箱进程;根据所述元数据创建命名空间进程;根据所述元数据在命名空间中创建临时文件系统;在所述命名空间中,根据所述临时文件系统创建应用程序进程并启动应用程序。

【技术特征摘要】
1.一种应用程序权限控制方法,其特征在于,包括:读取并解析沙箱的运行参数和应用程序权限配置的元数据;根据所述运行参数初始化所述沙箱并创建沙箱进程;根据所述元数据创建命名空间进程;根据所述元数据在命名空间中创建临时文件系统;在所述命名空间中,根据所述临时文件系统创建应用程序进程并启动应用程序。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:退出所述应用程序,销毁所述沙箱。3.根据权利要求2所述的方法,其特征在于,所述退出所述应用程序,销毁所述沙箱的步骤,包括:退出所述应用程序,并结束所述应用程序进程;结束所述命名空间进程以及所述沙箱进程。4.根据权利要求1所述的方法,其特征在于,所述沙箱进程用于存储所述命名空间进程的运行信息,并检测所述命名空间进程的运行状态;所述命名空间进程用于存储所述应用程序进程的运行信息,并检测所述应用程序进程的运行状态。5.根据权利要求1所述的方法,其特征在于,所述根据所述运行参数初始化所述沙箱并创建沙箱进程的步骤,包括:根据所述运行参数设置沙箱环境的设置参数;通过沙箱后端工具设置所述沙箱环境所需的权能;创建沙箱进程。6.根据权利要求1所述的方法,其特征在于,所述根据所述元数据在命名空间中创建临时文件系统的步骤,包括:在所述命名空间中创建根目录;在所述根目...

【专利技术属性】
技术研发人员:符兴斌李锁在韩鹏胡坚升徐志亮周博鲁振
申请(专利权)人:中软信息系统工程有限公司
类型:发明
国别省市:北京,11

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

1