CN105653960A - 一种Linux能力分配方法及装置 - Google Patents
一种Linux能力分配方法及装置 Download PDFInfo
- Publication number
- CN105653960A CN105653960A CN201511026685.8A CN201511026685A CN105653960A CN 105653960 A CN105653960 A CN 105653960A CN 201511026685 A CN201511026685 A CN 201511026685A CN 105653960 A CN105653960 A CN 105653960A
- Authority
- CN
- China
- Prior art keywords
- ability
- uid
- system service
- application
- identity
- 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.)
- Pending
Links
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种Linux能力分配方法及装置,其中所述方法包括:确定移动终端的应用或系统服务所需的能力;将所述能力与所述应用或系统服务的用户标识uid之间的对应关系保存到配置文件中;在以一uid的身份启动所述应用或系统服务时,为相应启动进程设置uid,读取所述配置文件并获取与uid对应的能力;及为运行所述应用或系统服务的进程设置与所述身份的uid对应的能力。本申请的方法和装置使得在确保系统安全的同时能更简便地设置能力。
Description
技术领域
本申请涉及电数字数据处理领域,尤其涉及一种在使用Linux系统的移动终端中对其应用或系统服务的能力进行分配的方法和装置。
背景技术
在Linux系统中,进程在执行某些命令时需要Root权限。如果拥有Root权限的进程被攻击者劫持,那么该攻击者就可以做所有的事情,非常危险。为了解决这个问题,Linux开发出了一种capability(能力)机制,其将Root所拥有的权限进行了划分,分解成了30多种不同的能力。按进程的需要配置能力,确保进程权限的最小化,进而提高进程的安全性。
现有方案通常利用setcap命令,为指定的执行文件设置能力,能力值会写到该文件的扩展属性中。在执行该执行文件时,在Kernel(内核)中的exec调用中,读取该文件的扩展属性,如果发现该执行文件设置了能力,则为进程设置相应的能力。
然而,为执行文件设置能力的现有方案存在两个问题:1)执行文件只有拥有能力和没有能力两种状态。这样,对于执行文件来讲,有些场合需要能力,有些则不需要,这种机制无法满足。2)原来有Root账号时,所运行的命令都不需要设置能力。现在去掉Root账号后,原来所有需要特权的命令都需要设置能力,导致设置能力的命令过多。
发明内容
本申请的目标在于提供一种提高能力设置简便性并确保系统安全的能力分配方法及装置。
本申请的目标由一种Linux能力分配方法实现,该方法包括:
确定移动终端的应用或系统服务所需的能力;
将所述能力与所述应用或系统服务的用户标识uid之间的对应关系保存到配置文件中;
在以一uid的身份启动所述应用或系统服务时,为相应启动进程设置uid,读取所述配置文件并获取与uid对应的能力;及
为运行所述应用或系统服务的进程设置与所述身份的uid对应的能力。
本申请的目标还由一种Linux能力分配装置实现,该装置包括:
能力确定模块,用于确定移动终端的应用或系统服务所需的能力;
能力保存模块,用于将所述能力与所述应用或系统服务的用户标识uid之间的对应关系保存到配置文件中;
文件读取模块,用于在以一uid的身份启动所述应用或系统服务时,为相应启动进程设置uid,读取所述配置文件并获取与所述身份的uid对应的能力;及
能力设置模块,用于为运行所述应用或系统服务的进程设置与所述身份的uid对应的能力。
通过本发明的方法和装置,解决了因去掉Root账号后设置能力权限的命令过多的问题,也解决了执行文件在某些场合需要能力、某些场合不需要能力的问题,即解决了有些命令在不同的场合需要不同权限的问题。
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。
附图说明
本发明将在下面参考附图并结合优选实施例进行更完全地说明。
图1为根据本发明方法的一实施例的流程图。
图2为根据本发明装置的一实施例的结构示意图。
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
图1示出了根据本发明的、用于在使用Linux系统的移动终端如手机中对其系统服务或应用的能力进行分配的方法。该方法改变目前将能力与执行文件结合的机制,提出使能力与Linux的uid机制相结合,为指定的uid设置能力,从而避免了设置能力命令过多的问题,且解决了有些命令在不同的场合需要不同权限的问题,提高了系统安全性。该方法开始于步骤S10,确定移动终端如手机的应用或系统服务所需的能力。例如,在安装新的应用时,通过向移动终端的系统声明需要哪些能力而确定该新的应用所需的能力,例如将所需能力写到系统的配置文件中,如/etc/passwd。之后,处理进行到步骤S20,在配置文件中,保存能力与应用或系统服务的用户标识uid之间的对应关系。例如,系统服务service1需要能力1,系统服务service2需要能力2,应用app1需要能力3,应用app2需要能力4,依此类推,其中service1、service2、app1和app2为相应系统服务或应用的用户标识uid,每一系统服务或应用具有一个唯一的uid。之后,处理进行到步骤S30,在以一uid如app1的身份启动应用时,修改拥有setuid(设置用户标识)权限的进程,在启动进程将uid设置为app1的同时将组标识gid设置为app1即setgid(app1),读取配置文件,获得与app1对应的能力即能力3。之后,处理进行到步骤S40,调用setcap命令为运行应用app1的进程设置能力3。
图2示出了根据本发明的Linux能力分配装置的一实施例,其包括:能力确定模块10,用于确定移动终端的应用或系统服务所需的能力;例如,对于新的应用,可通过向移动终端的系统进行声明而确定所需的能力;能力保存模块20,用于将所述能力与所述应用或系统服务的用户标识uid之间的对应关系保存到配置文件中;文件读取模块30,用于在以一uid的身份启动所述应用或系统服务时,为相应启动进程设置uid和设置组标识gid,读取所述配置文件并获取与所述身份的uid对应的能力;及能力设置模块40,用于通过调用setcap命令为运行所述应用或系统服务的进程设置与所述身份的uid对应的能力。
一些优选实施例已经在前面进行了说明,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。
Claims (8)
1.一种Linux能力分配方法,其特征在于,所述方法包括:
确定移动终端的应用或系统服务所需的能力;
将所述能力与所述应用或系统服务的用户标识uid之间的对应关系保存到配置文件中;
在以一uid的身份启动所述应用或系统服务时,为相应启动进程设置uid,读取所述配置文件并获取与uid对应的能力;及
为运行所述应用或系统服务的进程设置与所述身份的uid对应的能力。
2.根据权利要求1所述的方法,其特征在于,确定所述能力的步骤通过向移动终端的系统声明进行。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述启动进程设置组标识gid。
4.根据权利要求1所述的方法,其特征在于,设置能力的步骤通过setcap命令进行。
5.一种Linux能力分配装置,其特征在于,所述装置包括:
能力确定模块,用于确定移动终端的应用或系统服务所需的能力;
能力保存模块,用于将所述能力与所述应用或系统服务的用户标识uid之间的对应关系保存到配置文件中;
文件读取模块,用于在以一uid的身份启动所述应用或系统服务时,为相应启动进程设置uid,读取所述配置文件并获取与所述身份的uid对应的能力;及
能力设置模块,用于为运行所述应用或系统服务的进程设置与所述身份的uid对应的能力。
6.根据权利要求5所述的装置,其特征在于,所述能力确定模块通过向移动终端的系统进行声明而确定所需的能力。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
组标识设置模块,用于为所述启动进程设置组标识gid。
8.根据权利要求5所述的装置,其特征在于,所述能力设置模块通过setcap命令设置能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511026685.8A CN105653960A (zh) | 2015-12-31 | 2015-12-31 | 一种Linux能力分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511026685.8A CN105653960A (zh) | 2015-12-31 | 2015-12-31 | 一种Linux能力分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105653960A true CN105653960A (zh) | 2016-06-08 |
Family
ID=56491082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511026685.8A Pending CN105653960A (zh) | 2015-12-31 | 2015-12-31 | 一种Linux能力分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653960A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871077A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 用于系统服务的权能管理方法、权能管理方法及装置 |
CN108595944A (zh) * | 2018-03-27 | 2018-09-28 | 天津麒麟信息技术有限公司 | 一种基于Linux系统的实现用户UID唯一性的方法 |
CN110750781A (zh) * | 2019-10-18 | 2020-02-04 | 苏州浪潮智能科技有限公司 | 一种应用程序安全管控的方法及装置 |
CN112199672A (zh) * | 2020-10-10 | 2021-01-08 | 北京微步在线科技有限公司 | 账号权限提升行为的检测方法、装置及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763710A (zh) * | 2004-10-22 | 2006-04-26 | 中国人民解放军国防科学技术大学 | 基于能力的特权最小化方法 |
US20070050369A1 (en) * | 2005-01-31 | 2007-03-01 | Stiegler Marc D | Accessing file under confinement |
CN101403973A (zh) * | 2006-12-05 | 2009-04-08 | 三星电子株式会社 | 提高嵌入式Linux内核安全性的应用程序启动方法和系统 |
CN102446259A (zh) * | 2010-09-30 | 2012-05-09 | 联想(北京)有限公司 | 组件访问控制方法及电子设备 |
CN103294940A (zh) * | 2013-05-23 | 2013-09-11 | 广东欧珀移动通信有限公司 | 一种Android系统权限控制方法及移动智能终端 |
CN103516863A (zh) * | 2012-06-18 | 2014-01-15 | 华为终端有限公司 | 设备能力管理方法及移动终端 |
CN104217158A (zh) * | 2014-09-17 | 2014-12-17 | 青岛海信移动通信技术股份有限公司 | 一种检测智能终端系统状态的方法及智能终端 |
CN104484594A (zh) * | 2014-11-06 | 2015-04-01 | 中国科学院信息工程研究所 | 一种基于权能机制的linux系统特权分配方法 |
-
2015
- 2015-12-31 CN CN201511026685.8A patent/CN105653960A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763710A (zh) * | 2004-10-22 | 2006-04-26 | 中国人民解放军国防科学技术大学 | 基于能力的特权最小化方法 |
US20070050369A1 (en) * | 2005-01-31 | 2007-03-01 | Stiegler Marc D | Accessing file under confinement |
CN101403973A (zh) * | 2006-12-05 | 2009-04-08 | 三星电子株式会社 | 提高嵌入式Linux内核安全性的应用程序启动方法和系统 |
CN102446259A (zh) * | 2010-09-30 | 2012-05-09 | 联想(北京)有限公司 | 组件访问控制方法及电子设备 |
CN103516863A (zh) * | 2012-06-18 | 2014-01-15 | 华为终端有限公司 | 设备能力管理方法及移动终端 |
CN103294940A (zh) * | 2013-05-23 | 2013-09-11 | 广东欧珀移动通信有限公司 | 一种Android系统权限控制方法及移动智能终端 |
CN104217158A (zh) * | 2014-09-17 | 2014-12-17 | 青岛海信移动通信技术股份有限公司 | 一种检测智能终端系统状态的方法及智能终端 |
CN104484594A (zh) * | 2014-11-06 | 2015-04-01 | 中国科学院信息工程研究所 | 一种基于权能机制的linux系统特权分配方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871077A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 用于系统服务的权能管理方法、权能管理方法及装置 |
CN107871077B (zh) * | 2016-09-27 | 2021-06-15 | 斑马智行网络(香港)有限公司 | 用于系统服务的权能管理方法、权能管理方法及装置 |
CN108595944A (zh) * | 2018-03-27 | 2018-09-28 | 天津麒麟信息技术有限公司 | 一种基于Linux系统的实现用户UID唯一性的方法 |
CN108595944B (zh) * | 2018-03-27 | 2020-07-10 | 麒麟软件有限公司 | 一种基于Linux系统的实现用户UID唯一性的方法 |
CN110750781A (zh) * | 2019-10-18 | 2020-02-04 | 苏州浪潮智能科技有限公司 | 一种应用程序安全管控的方法及装置 |
CN112199672A (zh) * | 2020-10-10 | 2021-01-08 | 北京微步在线科技有限公司 | 账号权限提升行为的检测方法、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109711168B (zh) | 基于行为的服务识别方法、装置、设备及可读存储介质 | |
CN105653960A (zh) | 一种Linux能力分配方法及装置 | |
US20170289193A1 (en) | Secure smart terminal and an information processing method | |
CN110096314B (zh) | 一种接口初始化方法、装置、设备及计算机可读存储介质 | |
CN108763951B (zh) | 一种数据的保护方法及装置 | |
US20170351510A1 (en) | Method for recognizing application type | |
EP3584732A1 (en) | Application management method for terminal, application server and terminal | |
DE102016009232A1 (de) | Integriertes Teilnehmeridentitätsmodul mit Core-OS und Anwendungs-OS | |
CN105302711A (zh) | 一种应用修复方法、装置及终端 | |
US9628939B2 (en) | Data calling method and device | |
EP2883138A1 (de) | Verfahren zum aktivieren eines betriebssystems in einem sicherheitsmodul | |
CN111125721B (zh) | 一种进程启动的控制方法、计算机设备和可读存储介质 | |
CN110597731B (zh) | 一种漏洞检测方法、装置及电子设备 | |
CN109977676B (zh) | 一种应用程序的管控方法、装置和设备 | |
CN103685259B (zh) | 账户登录的方法及其装置 | |
CN107368738B (zh) | 一种智能设备的防Root方法及装置 | |
CN113010223A (zh) | 一种基于Android系统的卸载资源定制方法与终端 | |
CN117056904A (zh) | 应用程序隐私合规判断方法、装置、计算机设备及介质 | |
CN108647516B (zh) | 一种防御漏洞非法提权方法及装置 | |
CN115629820A (zh) | 系统安全启动方法、芯片系统、存储介质及电子设备 | |
US20240031166A1 (en) | Web-side data signature method and apparatus and computer device | |
CN105653961A (zh) | 一种提高移动终端应用加载安全性的方法和装置 | |
CN107392010B (zh) | 执行Root操作的方法及装置、终端设备、存储介质 | |
CN115935321A (zh) | 算法库的访问方法、装置及存储介质 | |
CN115712918A (zh) | 一种基于Linux系统的文件保护方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160608 |
|
RJ01 | Rejection of invention patent application after publication |