一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用程序启动过程中附加权限的方法、系统及设备与流程

2022-11-28 14:00:03 来源:中国专利 TAG:


1.本技术涉及应用程序技术领域,尤其涉及一种应用程序启动过程中附加权限的方法、系统及设备。


背景技术:

2.现阶段,提升linux系统上应用程序权限的方法,主要为使用root权限启动应用程序。
3.但是,仅使用root权限启动应用程序的方式,无法修改应用程序的启动流程,无法满足启动过程中处理其他事务的需求。且使用root权限启动应用程序的方式,使得应用程序在整个运行生命周期内都享有root权限,容易遭受攻击,导致系统安全性降低。


技术实现要素:

4.针对现有技术的上述不足,本发明提供一种应用程序启动过程中附加权限的方法、系统及设备,以解决上述技术问题。
5.第一方面,本技术提供了一种应用程序启动过程中附加权限的方法,方法包括:获取修改程序流程的exec变量值或将权限附加程序名称替换为应用程序名称,使先权限附加程序后调用应用程序;通过权限附加程序或预设内核hook方式,调用linux内核提供的cap函数,进而基于预设修改权限值,通过cap函数修改应用程序中预设权限的权限值;在接收到权限恢复指令时,恢复预设权限的权限值;在接收到应用程序恢复指令时,基于权限附加程序中备份原始运行环境参数,恢复应用程序启动流程。
6.进一步,获取修改程序流程的exec变量值或将权限附加程序名称替换为应用程序名称,具体包括:通过预设在桌面上的程序流程文件快捷键,触发程序流程文件编辑界面;通过程序流程文件编辑界面获取先调用权限附加程序后调用应用程序的exec变量值。
7.进一步,获取修改程序流程的exec变量值或将权限附加程序名称替换为应用程序名称,具体还包括:确定应用程序的预设名称和所在的目录;将应用程序重命名,将权限附加程序的名称修改为预设名称。
8.进一步,预设权限至少包括以下任意一项或多项:配置网络权限、修改系统配置文件权限、安装安装包权限。
9.第二方面,本技术提供了一种应用程序启动过程中附加权限的系统,系统包括:调用模块,用于获取修改程序流程的exec变量值或将权限附加程序名称替换为应用程序名称,使先权限附加程序后调用应用程序;修改模块,用于通过权限附加程序或预设内核hook方式,调用linux内核提供的cap函数,进而基于预设修改权限值,通过cap函数修改应用程序中预设权限的权限值;恢复模块,用于在接收到权限恢复指令时,恢复预设权限的权限值;还用于在接收到应用程序恢复指令时,基于权限附加程序中备份原始运行环境参数,恢复应用程序启动流程。
10.进一步,调用模块还包括获取单元;用于通过预设在桌面上的程序流程文件快捷
键,触发程序流程文件编辑界面;通过程序流程文件编辑界面获取先调用权限附加程序后调用应用程序的exec变量值。
11.进一步,调用模块还包括修改单元;用于确定应用程序的预设名称和所在的目录;将应用程序重命名,将权限附加程序的名称修改为预设名称。
12.第三方面,本技术提供了一种应用程序启动过程中附加权限的设备,设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述任一项的一种应用程序启动过程中附加权限的方法。
13.本领域技术人员能够理解的是,本发明至少具有如下有益效果:本技术针对不修改应用程序的前提下,在应用程序启动前对应用程序操作的场景提供技术支撑,结合linux下应用场景可以解决linux下不修改应用程序却要对应用程序操作的问题,同时为其他类似场景提供方案参考。
14.本技术可以在linux系统下不修改应用程序启动流程的情况下,给应用程序提升能力值。在应用程序启动之前,处理一些高权限的任务,然后根据应用程序的需要,可以适当保留或去除某些能力值。
15.因为使用能力值的方式给应用程序加权,而非使用root权限,因此给应用程序加权的粒度更小,更易于保证权限的最小化,从而提升了系统的安全性。
附图说明
16.下面参照附图来描述本公开的部分实施例,附图中:图1是本技术实施例提供的一种应用程序启动过程中附加权限的方法流程图。
17.图2是本技术实施例提供的一种应用程序启动过程中附加权限的系统内部结构示意图。
18.图3是本技术实施例提供的一种应用程序启动过程中附加权限的设备内部结构示意图。
具体实施方式
19.本领域技术人员应当理解的是,下文所描述的实施例仅仅是本公开的优选实施例,并不表示本公开仅能通过该优选实施例实现,该优选实施例仅仅是用于解释本公开的技术原理,并非用于限制本公开的保护范围。基于本公开提供的优选实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本公开的保护范围之内。
20.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性地包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
21.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
22.本技术实施例还提供了一种应用程序启动过程中附加权限的方法,如图1所示,本技术实施例提供的方法,主要包括以下步骤:
步骤110、获取修改程序流程的exec变量值或将权限附加程序名称替换为应用程序名称,使先权限附加程序后调用应用程序。
23.其中,获取修改程序流程的exec变量值,使先权限附加程序后调用应用程序,具体可以为:通过预设在桌面上的程序流程文件快捷键,触发程序流程文件编辑界面;通过程序流程文件编辑界面获取先调用权限附加程序后调用应用程序的exec变量值。
24.其中,将权限附加程序名称替换为应用程序名称,使先权限附加程序后调用应用程序,具体可以为:确定应用程序的预设名称和所在的目录;将应用程序重命名,将权限附加程序的名称修改为预设名称。
25.根据上述步骤110,可知本技术在给应用程序修改权限之前,可以先调用权限附加程序后调用应用程序:作为示例一地,通过桌面快捷方式:通过修改桌面图标(程序流程文件快捷键)中的exec(程序流程文件)变量的值,使得先调用权限附加程序后调用应用程序。
26.作为示例二地,同名进程替换方式:查找应用程序所在目录,而后将应用程序重命名,再将权限附加程序命名为应用程序名,实现先调用权限附加程序后调用应用程序。
27.步骤120、通过权限附加程序或预设内核hook方式,调用linux内核提供的cap函数,进而基于预设修改权限值,通过cap函数修改应用程序中预设权限的权限值。
28.其中,预设权限至少包括以下任意一项或多项:配置网络权限、修改系统配置文件权限、安装安装包权限。
29.需要说明的是,权限附加程序作为固定模块,预设拥有root权限。例如,权限附加程序可以通过linux提供的cap方式给应用程序添加e、p权限值,以满足应用程序处理高权限事务条件。内核hook方式,因操作发生在内核态,可直接调用linux内核提供的cap函数,提升应用程序的权限值,无需关心自身权限问题。
30.此外,在使用内核hook方式修改应用程序权限前,linux需要先进行比较操作,具体地:在linux内核中hook do_execve函数,通过要提升能力值权限应用程序名与do_execve参数比较,在do_execve函数中确定要提升权限的程序;步骤130、在接收到权限恢复指令时,恢复预设权限的权限值;在接收到应用程序恢复指令时,基于权限附加程序中备份原始运行环境参数,恢复应用程序启动流程。
31.除此之外,图2为本技术实施例提供的一种应用程序启动过程中附加权限的系统。如图2所示,本技术实施例提供的系统,主要包括:调用模块210,用于获取修改程序流程的exec变量值或将权限附加程序名称替换为应用程序名称,使先权限附加程序后调用应用程序。
32.调用模块210还包括获取单元211;用于通过预设在桌面上的程序流程文件快捷键,触发程序流程文件编辑界面;通过程序流程文件编辑界面获取先调用权限附加程序后调用应用程序的exec变量值。
33.调用模块210还包括修改单元212;用于确定应用程序的预设名称和所在的目录;将应用程序重命名,将权限附加程序的名称修改为预设名称。
34.修改模块220,用于通过权限附加程序或预设内核hook方式,调用linux内核提供的cap函数,进而基于预设修改权限值,通过cap函数修改应用程序中预设权限的权限值。
35.恢复模块230,用于在接收到权限恢复指令时,恢复预设权限的权限值;还用于在
接收到应用程序恢复指令时,基于权限附加程序中备份原始运行环境参数,恢复应用程序启动流程。
36.除此之外,本技术实施例还提供了一种应用程序启动过程中附加权限的设备,如图3所示,其上存储有可执行指令,在该可执行指令被执行时,实现如上述的一种应用程序启动过程中附加权限的方法。具体地,服务器端通过总线向存储器发送执行指令,当存储器接收到执行指令时,通过总线向处理器发送执行信号,以激活处理器。
37.需要说明的是,处理器用于获取修改程序流程的exec变量值或将权限附加程序名称替换为应用程序名称,使先权限附加程序后调用应用程序;通过权限附加程序或预设内核hook方式,调用linux内核提供的cap函数,进而基于预设修改权限值,通过cap函数修改应用程序中预设权限的权限值;在接收到权限恢复指令时,恢复预设权限的权限值;在接收到应用程序恢复指令时,基于权限附加程序中备份原始运行环境参数,恢复应用程序启动流程。
38.至此,已经结合前文的多个实施例描述了本公开的技术方案,但是,本领域技术人员容易理解的是,本公开的保护范围并不仅限于这些具体实施例。在不偏离本公开技术原理的前提下,本领域技术人员可以对上述各个实施例中的技术方案进行拆分和组合,也可以对相关技术特征作出等同地更改或替换,凡在本公开的技术构思和/或技术原理之内所做的任何更改、等同替换、改进等都将落入本公开的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献