一种管理root权限的方法和装置与流程

文档序号:12720893阅读:355来源:国知局
一种管理root权限的方法和装置与流程

本发明涉及计算机技术领域,特别涉及一种管理root权限的方法和装置。



背景技术:

目前,应用程序的种类越来越多,用途也越来越广泛。其中,一些应用程序(可称为第一应用程序)可以获取终端的root权限。终端的root权限是终端的系统程序的最高管理权限。第一应用程序获取到终端的root权限后,可以将root权限分配给终端中的其他应用程序,例如,可以将修改或删除系统程序中的文件的权限分配给管理数据,用户则可以通过管理数据对终端的系统程序中的文件进行修改或删除。

在实际中,终端会存储用于分配root权限的管理数据,管理数据可以包括终端中安装的各应用程序与root权限的对应关系。管理数据可以存储在磁盘的某个分区中。终端启动后,系统程序会对该分区进行挂载,以运行该分区中的应用程序。系统程序在挂载分区的过程中,可以设置分区的操作模式,如只读模式或读写模式等。终端通常会将该分区对应的操作模式设置为只读模式。当某个应用程序想要获取终端的root权限时,可以向系统程序发送对应该分区的挂载请求,挂载请求中携带有该分区的标识,以及读写模式信息,系统程序则可以重新挂载该分区,并将该分区设置为读写模式,然后,第一应用程序可以将该分区存储的管理数据,替换为自己的管理数据,从而可以为终端中的其他应用程序分配root权限。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

终端的root权限被某应用程序获取后,该应用程序会将终端的root权限分配给其他的应用程序,这样,用户在对这些应用程序进行操作时,可能会误删除系统程序中的某文件,影响终端的正常运行,例如,该应用程序可以将root权限分配给“手机管家”,用户通过“手机管家”删除应用程序时,可能会删除掉“短信”应用程序,导致手机无法发送短信。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种管理root权限的方法和装置。所述技术方案如下:

第一方面,提供了一种管理root权限的方法,所述方法包括:

接收应用程序发送的挂载请求,所述挂载请求中携带有待挂载的目标分区的标识和操作模式信息;

如果所述目标分区的标识为预设分区的标识,且所述操作模式信息为读写模式信息,则忽略所述挂载请求,保持所述目标分区的操作模式不变,其中,所述预设分区中存储有用于分配root权限的管理数据。

可选的,所述方法还包括:

如果所述目标分区的标识为所述预设分区的标识且所述操作模式信息不是读写模式信息,或者,所述目标分区的标识不是所述预设分区的标识,则对所述目标分区进行挂载处理,并基于所述操作模式信息设置所述目标分区的操作模式。

可选的,所述方法还包括:

如果所述目标分区的标识为所述预设分区的标识,且所述操作模式信息为读写模式信息,则获取并存储所述应用程序的标识,当接收到携带有所述应用程序的标识的启动请求时,忽略所述启动请求。

这样,可以禁止该应用程序启动,防止该应用程序再次发送挂载请求,从而可以减少终端的处理量。

可选的,所述方法还包括:

如果所述目标分区的标识为所述预设分区的标识,且所述操作模式信息为读写模式信息,则显示对应所述应用程序的警告信息。

这样,可以提示用户该应用程序存在风险,以便用户及时对该应用程序进行处理,比如删除该应用程序,或将该应用程序设置为禁用等。

第二方面,提供了一种管理root权限的装置,所述装置包括:

接收模块,用于接收应用程序发送的挂载请求,所述挂载请求中携带有待挂载的目标分区的标识和操作模式信息;

处理模块,用于如果所述目标分区的标识为预设分区的标识,且所述操作模式信息为读写模式信息,则忽略所述挂载请求,保持所述目标分区的操作模式不变,其中,所述预设分区中存储有用于分配root权限的管理数据。

可选的,所述处理模块,还用于:

如果所述目标分区的标识为所述预设分区的标识且所述操作模式信息不是读写模式信息,或者,所述目标分区的标识不是所述预设分区的标识,则对所述目标分区进行挂载处理,并基于所述操作模式信息设置所述目标分区的操作模式。

可选的,所述装置还包括:

获取模块,用于如果所述目标分区的标识为所述预设分区的标识,且所述操作模式信息为读写模式信息,则获取并存储所述应用程序的标识,当接收到携带有所述应用程序的标识的启动请求时,忽略所述启动请求。

可选的,所述装置还包括:

显示模块,用于如果所述目标分区的标识为所述预设分区的标识,且所述操作模式信息为读写模式信息,则显示对应所述应用程序的警告信息。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例中,接收应用程序发送的挂载请求,挂载请求中携带有待挂载的目标分区的标识和操作模式信息,如果目标分区的标识为预设分区的标识,且操作模式信息为读写模式信息,则忽略挂载请求,保持目标分区的操作模式不变,其中,预设分区中存储有用于分配root权限的管理数据,这样,将无法对预设分区中的数据进行修改,可以防止其他应用程序获取终端的root权限,避免用户误删除系统程序中的文件,从而避免出现终端无法正常运行的情况。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种管理root权限的方法流程图;

图2是本发明实施例提供的一种界面显示示意图;

图3是本发明实施例提供的一种管理root权限的装置结构示意图;

图4是本发明实施例提供的一种管理root权限的装置结构示意图;

图5是本发明实施例提供的一种管理root权限的装置结构示意图;

图6是本发明实施例提供的一种终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种管理root权限的方法,该方法的执行主体为终端,也可以是终端中的系统程序。其中,该终端可以是手机或平板电脑等移动终端。该终端中可以安装有系统程序和多种应用程序(如视频应用程序和游戏应用程序等)。其中,系统程序可以包括内核程序和进程管理程序。终端启动后,进程管理程序(如init进程)可以向内核程序发送对应某分区的挂载请求,挂载请求中可以携带有待挂载的分区的标识和操作模式信息,例如,操作模式信息可以为只读模式的标识或读写模式的标识。内核程序接收到挂载请求后,可以根据挂载请求中的分区的标识,对该分区进行挂载,以运行该分区中的应用程序,并且,在挂载该分区时,内核程序还可以根据该挂载请求中的操作模式信息设置该分区的操作模式(比如只读模式或读写模式)。其中,对于存储有用于分配root权限的应用程序的分区,进程管理程序发送的挂载请求中会携带有只读模式信息,以防止用户对该应用程序进行修改。

下面将结合具体实施方式,以执行主体为系统程序为例,对图1所示的处理流程进行详细的说明,内容可以如下:

步骤101,接收应用程序发送的挂载请求,该挂载请求中携带有待挂载的目标分区的标识和操作模式信息。

在实施中,该应用程序可以是用于获取终端的root权限的应用程序,比如root工具。该应用程序可以在达到预设的触发条件时,向终端的系统程序发送挂载请求。例如,该应用程序可以在启动后向系统程序发送挂载请求,也可以在接收到获取root权限的指令后,向系统程序发送挂载请求。挂载请求中可以携带有待挂载的目标分区的标识和操作模式信息。系统程序接收到该挂载请求后,可以对该挂载请求进行解析,获取目标分区的标识和操作模式信息,以便进行后续处理。该处理可以由系统程序中的内核程序实现。

步骤102,如果目标分区的标识为预设分区的标识,且操作模式信息为读写模式信息,则忽略该挂载请求,保持目标分区的操作模式不变。

其中,预设分区中存储有用于分配root权限的管理数据。

在实施中,一般情况下,终端中比较重要的数据会存储在一个固定的分区中,例如,用于分配root权限的数据(即管理数据)一般存储在system分区中。管理数据可以包括终端中安装的各应用程序与root权限的对应关系,比如“手机管家”只能删除手机用户下载的文件,不能删除系统程序中的文件。系统程序可以预先存储禁止修改操作模式的分区(即预设分区)的标识。在接收到挂载请求后,系统程序可以将该挂载请求中的目标分区的标识,与预设分区的标识进行对比,如果目标分区的标识与预设分区的标识相同,且挂载请求中的操作模型信息为读写模式信息,则可以忽略该挂载请求,不对目标分区进行挂载处理,保持目标分区的操作模式不变。例如,预设分区的标识为system分区的标识,如果挂载请求中携带system分区的标识和读写模式信息,则系统程序可以忽略该挂载请求,保持system分区的操作模式为只读模式。这样,root工具将无法对system分区进行读写操作,可以防止root工具将系统程序中用于分配root权限的管理数据,替换为自己的应用程序。该处理可以由系统程序中的内核程序实现。另外,系统程序还可以向该应用程序返回错误消息,该应用程序接收到该错误消息后,可以显示root权限获取失败的提示信息,例如,可以显示“root失败”,以对用户进行提示。

如果系统程序判定目标分区的标识为预设分区的标识,且操作模式信息不是读写模式信息,或者,系统程序判定目标分区的标识不是预设分区的标识,则可以进行以下处理:对目标分区进行挂载处理,并基于操作模式信息设置目标分区的操作模式。

在实施中,终端中可以设置有一个或多个文件系统,每个文件系统可以管理一个或多个分区,其中,每个分区可以只对应一个文件系统。系统程序判定目标分区的标识为预设分区的标识,且操作模式信息不是读写模式信息时,或者,系统程序判定目标分区的标识不是预设分区的标识时,可以根据预先存储的分区和文件系统的对应关系,确定目标分区对应的目标文件系统,然后将接收到的挂载请求发送给目标文件系统,目标文件系统接收到挂载请求后,可以对该挂载请求进行解析,获取其中携带的目标分区的标识和操作模式信息,然后可以对目标分区进行挂载,以运行目标分区中的应用程序,并且,在挂载该分区时,系统程序可以根据该挂载请求中的操作模式信息设置目标分区的操作模式。

可选的,如果目标分区的标识为预设分区的标识,且操作模式信息为读写模式信息,则系统程序还可以将该应用程序加入到黑名单中,以防止该应用程序再次对预设分区中的数据进行修改,相应的处理过程可以如下:获取并存储该应用程序的标识;当接收到携带有该应用程序的标识的启动请求时,忽略启动请求。

在实施中,终端的系统程序可以获取该应用程序的标识,例如,挂载请求中还可以携带该应用程序的标识,系统程序可以从挂载请求中获取该应用程序的标识,或者,系统程序也可以通过其他方式获取该应用程序的标识,本实施例不做限定。系统程序获取到该应用程序的标识后,可以将该应用程序的标识添加到禁止启动列表中。系统程序接收到启动请求后,可以将启动请求中携带的待启动的应用程序的标识,与禁止启动列表中的应用程序的标识进行对比,如果待启动的应用程序的标识,为禁止启动列表中的应用程序的标识,则可以忽略该启动请求,禁止为该应用程序分配处理资源,从而禁止该应用程序自动。这样,当接收到携带有该应用程序的标识的启动请求时,将忽略该启动请求,阻止该应用程序启动,从而防止该应用程序再次对预设分区中的数据进行修改,提高终端的数据安全性。

可选的,如果目标分区的标识为预设分区的标识,且操作模式信息为读写模式信息,则系统程序还可以向用户显示警告信息,以提醒用户对该应用程序进行处理,相应的处理过程可以如下:显示对应该应用程序的警告信息。

在实施中,系统程序可以获取该应用程序的标识(比如应用程序的名称),然后可以显示对应该应用程序的警告信息,警告信息中可以包含该应用程序的标识,例如,可以显示“应用程序root工具存在风险,建议删除”,如图2所示。用户看到该警告消息后,可以获知该应用程序存在风险,然后可以对该应用程序进行相应的处理。例如,用户可以在终端中删除该应用程序,或者,用户可以在该应用程序中将获取root权限功能的使用状态设置为禁用。这样,可以及时的提示用户,以防止该应用程序获取终端的root权限,而导致用户会误删除系统程序中的某文件,影响终端的正常运行。

本发明实施例中,接收应用程序发送的挂载请求,挂载请求中携带有待挂载的目标分区的标识和操作模式信息,如果目标分区的标识为预设分区的标识,且操作模式信息为读写模式信息,则忽略挂载请求,保持目标分区的操作模式不变,其中,预设分区中存储有用于分配root权限的管理数据,这样,将无法对预设分区中的数据进行修改,可以防止其他应用程序获取终端的root权限,避免用户误删除系统程序中的文件,从而避免出现终端无法正常运行的情况。

基于相同的技术构思,本发明实施例还提供了一种管理root权限的装置,如图3所示,该装置包括:

接收模块310,用于接收应用程序发送的挂载请求,所述挂载请求中携带有待挂载的目标分区的标识和操作模式信息;

处理模块320,用于如果所述目标分区的标识为预设分区的标识,且所述操作模式信息为读写模式信息,则忽略所述挂载请求,保持所述目标分区的操作模式不变,其中,所述预设分区中存储有用于分配root权限的管理数据。

可选的,所述处理模块320,还用于:

如果所述目标分区的标识为所述预设分区的标识且所述操作模式信息不是读写模式信息,或者,所述目标分区的标识不是所述预设分区的标识,则对所述目标分区进行挂载处理,并基于所述操作模式信息设置所述目标分区的操作模式。

可选的,如图4所示,所述装置还包括:

获取模块330,用于如果所述目标分区的标识为所述预设分区的标识,且所述操作模式信息为读写模式信息,则获取并存储所述应用程序的标识,当接收到携带有所述应用程序的标识的启动请求时,忽略所述启动请求。

可选的,如图5所示,所述装置还包括:

显示模块340,用于如果所述目标分区的标识为所述预设分区的标识,且所述操作模式信息为读写模式信息,则显示对应所述应用程序的警告信息。

本发明实施例中,接收应用程序发送的挂载请求,挂载请求中携带有待挂载的目标分区的标识和操作模式信息,如果目标分区的标识为预设分区的标识,且操作模式信息为读写模式信息,则忽略挂载请求,保持目标分区的操作模式不变,其中,预设分区中存储有用于分配root权限的管理数据,这样,将无法对预设分区中的数据进行修改,可以防止其他应用程序获取终端的root权限,避免用户误删除系统程序中的文件,从而避免出现终端无法正常运行的情况。

需要说明的是:上述实施例提供的管理root权限的装置在管理root权限时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的管理root权限的装置与管理root权限的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本公开再一示例性实施例提供了一种终端的结构示意图。参照图6,终端800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制终端800的整体操作,诸如与显示,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在终端800的操作。这些数据的示例包括用于在终端800上操作的任何应用程序或方法的指令。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电力组件806为终端800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为音频输出设备800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述终端800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当音频输出设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。

I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为终端800提供各个方面的状态评估。例如,传感器组件814可以检测到终端800的打开/关闭状态,组件的相对定位,例如所述组件为终端800的显示器和小键盘,传感器组件814还可以检测终端800或终端800一个组件的位置改变,用户与终端800接触的存在或不存在,终端800方位或加速/减速和终端800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于终端800和其他设备之间有线或无线方式的通信。终端800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,终端800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执上述管理root权限的方法。

本发明实施例中,接收应用程序发送的挂载请求,挂载请求中携带有待挂本发明实施例中,接收应用程序发送的挂载请求,挂载请求中携带有待挂载的目标分区的标识和操作模式信息,如果目标分区的标识为预设分区的标识,且操作模式信息为读写模式信息,则忽略挂载请求,保持目标分区的操作模式不变,其中,预设分区中存储有用于分配root权限的管理数据,这样,将无法对预设分区中的数据进行修改,可以防止其他应用程序获取终端的root权限,避免用户误删除系统程序中的文件,从而避免出现终端无法正常运行的情况。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1