CN108229189A - 内核文件的自主访问控制方法及装置 - Google Patents
内核文件的自主访问控制方法及装置 Download PDFInfo
- Publication number
- CN108229189A CN108229189A CN201711473361.8A CN201711473361A CN108229189A CN 108229189 A CN108229189 A CN 108229189A CN 201711473361 A CN201711473361 A CN 201711473361A CN 108229189 A CN108229189 A CN 108229189A
- Authority
- CN
- China
- Prior art keywords
- uid
- gid
- kernel file
- user
- visitor
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了内核文件的自主访问控制方法及装置,其中所述方法包括:在创建内核文件时获取当前用户的UID和GID;在初始化新创建的内核文件时将新创建的内核文件的用户及用户组分别设置为当前用户的UID和GID;确定访问者的身份与设置的UID和GID是否一致;响应于访问者的身份与设置的UID和GID一致,使得访问者具有直接访问所述内核文件的权限。本发明不需要用户空间再次获取root权限修改内核文件的用户和用户组即可安全地实现自身的访问权限控制,避免获取root权限可能引起的安全问题。
Description
技术领域
本申请涉及电数字数据处理领域,尤其涉及内核文件的自主访问控制方法及装置。
背景技术
自主访问控制(DAC)主要涉及主体、客体、权限、所有权这几个部分。主体是指系统中的用户,客体是指用户所拥有的资源或文件(Linux中一切皆文件),主体对主体所拥有的客体拥有权限控制,主体可以将主体所拥有客体的访问权限赋予给其他主体,以实现主体自身资源的访问权限控制。
现有技术在当前用户通过系统调用等方式在内核空间创建文件时,内核默认将此文件的用户和用户组都设置为root用户及root用户组,然后用户空间通过直接或间接获取root权限的方式再次修改此文件的用户及用户组。这种方式需要通过root权限再次修改文件的用户以及其用户组,容易造成系统安全问题。
发明内容
为了克服现有技术中存在的不足,本发明要解决的技术问题是提供一种内核文件的自主访问控制方法及装置,其不需要用户空间再次获取root权限修改内核文件的用户和用户组即可安全地实现自身的访问权限控制。
为解决上述技术问题,本发明的内核文件的自主访问控制方法,包括:
在创建内核文件时获取当前用户的UID和GID;
在初始化新创建的内核文件时将新创建的内核文件的用户及用户组分别设置为当前用户的UID和GID;
确定访问者的身份与设置的UID和GID是否一致;
响应于访问者的身份与设置的UID和GID一致,使得访问者具有直接访问所述内核文件的权限。
作为本发明所述方法的改进,所述方法还包括:在代表内核文件的数据结构中增加表示当前用户访问权限的数据结构。
作为本发明所述方法的进一步改进,所述在初始化新创建的内核文件时将新创建的内核文件的用户及用户组分别设置为当前用户的UID和GID包括:将当前用户的UID和GID赋值给所述表示当前用户访问权限的数据结构。
作为本发明所述方法的又一进一步改进,所述确定访问者的身份与设置的UID和GID是否一致包括:检查所述数据结构的UID和GID是否与访问者的身份一致。
作为本发明所述方法的再一进一步改进,所述访问权限包括下述之一或多个:读、写和执行。
为解决上述技术问题,本发明的内核文件的自主访问控制装置,包括:
获取模块,用于在创建内核文件时获取当前用户的UID和GID;
设置模块,用于在初始化新创建的内核文件时将新创建的内核文件的用户及用户组分别设置为当前用户的UID和GID;
确定模块,用于确定访问者的身份与设置的UID和GID是否一致;
访问模块,用于响应于访问者的身份与设置的UID和GID一致,使得访问者具有直接访问所述内核文件的权限。
作为本发明所述装置的改进,所述装置还包括数据结构增加模块,用于在代表内核文件的数据结构中增加表示当前用户访问权限的数据结构。
作为本发明所述装置的进一步改进,所述设置模块包括赋值子模块,用于将当前用户的UID和GID赋值给所述表示当前用户访问权限的数据结构。
作为本发明所述装置的又一进一步改进,所述确定模块包括检查子模块,用于检查所述数据结构的UID和GID是否与访问者的身份一致。
为解决上述技术问题,本发明的有形计算机可读介质,包括用于执行本发明的内核文件的自主访问控制方法的计算机程序代码。
为解决上述技术问题,本发明提供一种装置,包括至少一个处理器;及至少一个存储器,含有计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器使得所述装置执行本发明的内核文件的自主访问控制方法的至少部分步骤。
按照本发明,在内核文件创建时即设置了内核文件的用户和用户组,通过该文件的用户和用户组实现当前用户内核文件的自主访问控制,不需要用户空间再次获取root权限修改内核文件的用户和用户组。该基于内核文件系统框架(kernfs)实现的内核文件的自主访问控制方案有利地避免了获取root权限可能引起的安全问题。
结合附图阅读本发明实施方式的详细描述后,本发明的其它特点和优点将变得更加清楚。
附图说明
图1为根据本发明方法的一实施例的流程图。
图2为根据本发明装置的一实施例的结构示意图。
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
下面参照附图对本发明的实施方式和实施例进行详细说明。
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
图1示出了根据本发明的内核文件的自主访问控制方法的一实施例的流程图。
在步骤S102,在内核文件系统框架(kernfs)中表示内核文件的数据结构(structkernfs_node)中新增表示当前用户访问权限的数据结构(struct kernfs_iattrs)。
在步骤S104,在内核中通过current_uid()和current_gid()接口函数获取当前创建内核文件进程的UID(用户身份的内核表示)和GID(用户组身份的内核表示),当前用户的UID和GID就是当前创建内核文件进程的UID和GID。
在步骤S106,在初始化新创建的内核文件有关权限控制的函数kernfs_iattrs()中调用获取当前用户UID和GID的函数,并将当前用户的UID和GID设置给内核文件新增的表示用户访问权限的数据结构(struct kernfs_iattrs)。
在步骤S108,在系统访问该内核文件时,将内核文件系统框架(kernfs)中新增的表示用户访问权限的数据结构(struct kernfs_iattrs)的UID和GID与访问者的身份进行比较。
在步骤S110,确定比较结果是否一致。如果一致,则处理进行到步骤S112。否则,如果不一致,则处理进行到步骤S114。
在步骤S112,使得访问者具有直接访问该内核文件的权限如读、写和/或执行。
在步骤S114,拒绝对内核文件的访问。
通过上述处理,不需要用户空间再次获取root权限修改内核文件的用户和用户组,在内核文件创建时即设置了内核文件的用户和用户组,通过该文件的用户和用户组实现自身的访问权限控制,不会出现传统的通过获取root权限方式修改内核文件的用户和用户组的方法存在的安全问题。
图2示出了根据本发明的内核文件的自主访问控制装置的一实施例的结构示意图。该实施例的装置包括:数据结构增加模块202,用于在代表内核文件的数据结构中增加表示当前用户访问权限的数据结构;获取模块204,用于在创建内核文件时获取当前用户的UID和GID;设置模块206,用于在初始化新创建的内核文件时将新创建的内核文件的用户及用户组分别设置为当前用户的UID和GID;确定模块208,用于确定访问者的身份与设置的UID和GID是否一致;访问模块210,用于响应于访问者的身份与设置的UID和GID一致,使得访问者具有直接访问所述内核文件的权限。
根据本发明装置的一种实施方式,设置模块206包括赋值子模块,用于将当前用户的UID和GID赋值给所述表示当前用户访问权限的数据结构。
根据本发明装置的又一实施方式,确定模块208包括检查子模块,用于检查所述数据结构的UID和GID是否与访问者的身份一致。
在此所述的多个不同实施例或者其特定特征、结构或特性可在本发明的一个或多个实施方式中适当组合。另外,在某些情形下,只要适当,流程图中和/或流水处理描述的步骤顺序可修改,并不必须精确按照所描述的顺序执行。另外,本发明的多个不同方面可使用软件、硬件、固件或者其组合和/或执行所述功能的其它计算机实施的模块或装置进行实施。本发明的软件实施可包括保存在计算机可读介质中并由一个或多个处理器执行的可执行代码。计算机可读介质可包括计算机硬盘驱动器、ROM、RAM、闪存、便携计算机存储介质如CD-ROM、DVD-ROM、闪盘驱动器和/或例如具有通用串行总线(USB)接口的其它装置,和/或任何其它适当的有形或非短暂计算机可读介质或可执行代码可保存于其上并由处理器执行的计算机存储器。本发明可结合任何适当的操作系统使用。
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。
前面说明了本发明的一些优选实施例,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。本领域技术人员可以在本发明技术构思的启发和不脱离本发明内容的基础上对本发明作出各种变型和修改,这些变形或修改仍落入本发明的保护范围之内。
Claims (10)
1.一种内核文件的自主访问控制方法,其特征在于,所述方法包括:
在创建内核文件时获取当前用户的UID和GID;
在初始化新创建的内核文件时将新创建的内核文件的用户及用户组分别设置为当前用户的UID和GID;
确定访问者的身份与设置的UID和GID是否一致;
响应于访问者的身份与设置的UID和GID一致,使得访问者具有直接访问所述内核文件的权限。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在代表内核文件的数据结构中增加表示当前用户访问权限的数据结构。
3.根据权利要求2所述的方法,其特征在于,所述在初始化新创建的内核文件时将新创建的内核文件的用户及用户组分别设置为当前用户的UID和GID包括:
将当前用户的UID和GID赋值给所述表示当前用户访问权限的数据结构。
4.根据权利要求2或3所述的方法,其特征在于,所述确定访问者的身份与设置的UID和GID是否一致包括:
检查所述数据结构的UID和GID是否与访问者的身份一致。
5.根据权利要求1所述的方法,其特征在于,所述访问权限包括下述之一或多个:读、写和执行。
6.一种内核文件的自主访问控制装置,其特征在于,所述装置包括:
获取模块,用于在创建内核文件时获取当前用户的UID和GID;
设置模块,用于在初始化新创建的内核文件时将新创建的内核文件的用户及用户组分别设置为当前用户的UID和GID;
确定模块,用于确定访问者的身份与设置的UID和GID是否一致;
访问模块,用于响应于访问者的身份与设置的UID和GID一致,使得访问者具有直接访问所述内核文件的权限。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
数据结构增加模块,用于在代表内核文件的数据结构中增加表示当前用户访问权限的数据结构。
8.根据权利要求7所述的装置,其特征在于,所述设置模块包括:
赋值子模块,用于将当前用户的UID和GID赋值给所述表示当前用户访问权限的数据结构。
9.根据权利要求7或8所述的装置,其特征在于,所述确定模块包括:
检查子模块,用于检查所述数据结构的UID和GID是否与访问者的身份一致。
10.根据权利要求6所述的装置,其特征在于,所述访问权限包括下述之一或多个:读、写和执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711473361.8A CN108229189A (zh) | 2017-12-29 | 2017-12-29 | 内核文件的自主访问控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711473361.8A CN108229189A (zh) | 2017-12-29 | 2017-12-29 | 内核文件的自主访问控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108229189A true CN108229189A (zh) | 2018-06-29 |
Family
ID=62646857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711473361.8A Pending CN108229189A (zh) | 2017-12-29 | 2017-12-29 | 内核文件的自主访问控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108229189A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1299477A (zh) * | 1998-03-03 | 2001-06-13 | 网络装置公司 | 多协议文件服务器中的文件访问控制 |
CN102081710A (zh) * | 2010-12-14 | 2011-06-01 | 中国石油集团川庆钻探工程有限公司 | 权限设置方法和权限控制方法 |
CN102236755A (zh) * | 2011-05-04 | 2011-11-09 | 山东超越数控电子有限公司 | 一种单机多用户安全访问控制方法 |
CN105701415A (zh) * | 2016-01-04 | 2016-06-22 | 上海斐讯数据通信技术有限公司 | 一种移动终端内核权限管理系统及方法 |
CN107203715A (zh) * | 2016-03-18 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 执行系统调用的方法及装置 |
US20170300718A1 (en) * | 2016-04-13 | 2017-10-19 | Facebook, Inc. | Identifying online system users included in a group generated by a third party system without the third party system identifying individual users of the group to the online system |
-
2017
- 2017-12-29 CN CN201711473361.8A patent/CN108229189A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1299477A (zh) * | 1998-03-03 | 2001-06-13 | 网络装置公司 | 多协议文件服务器中的文件访问控制 |
CN102081710A (zh) * | 2010-12-14 | 2011-06-01 | 中国石油集团川庆钻探工程有限公司 | 权限设置方法和权限控制方法 |
CN102236755A (zh) * | 2011-05-04 | 2011-11-09 | 山东超越数控电子有限公司 | 一种单机多用户安全访问控制方法 |
CN105701415A (zh) * | 2016-01-04 | 2016-06-22 | 上海斐讯数据通信技术有限公司 | 一种移动终端内核权限管理系统及方法 |
CN107203715A (zh) * | 2016-03-18 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 执行系统调用的方法及装置 |
US20170300718A1 (en) * | 2016-04-13 | 2017-10-19 | Facebook, Inc. | Identifying online system users included in a group generated by a third party system without the third party system identifying individual users of the group to the online system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10108366B2 (en) | Non-volatile memory apparatus and operating method thereof | |
Ligh et al. | The art of memory forensics: detecting malware and threats in windows, linux, and Mac memory | |
US20170034697A1 (en) | Pen Needle Outer Cover Concepts | |
US9330027B2 (en) | Register access white listing | |
JP2014508363A (ja) | アンチマルウェアメタデータのルックアップを行うためのシステム及び方法 | |
US20200310684A1 (en) | Platform agnostic atomic operations | |
US10628192B2 (en) | Scalable techniques for data transfer between virtual machines | |
CN104217139A (zh) | 处理系统 | |
US20190196735A1 (en) | Direct access to de-duplicated data units in memory-based file systems | |
DE112011105687T5 (de) | Verwendung eines Option-ROM-Speichers | |
JP2009528632A5 (zh) | ||
CN103309819B (zh) | 嵌入式系统及其中的内存安全管理方法 | |
CN109145621B (zh) | 文档管理方法及装置 | |
US10446238B2 (en) | Pseudo single pass NAND memory programming | |
CN108229189A (zh) | 内核文件的自主访问控制方法及装置 | |
CN112541166A (zh) | 一种方法、系统和计算机可读存储介质 | |
CN105653960A (zh) | 一种Linux能力分配方法及装置 | |
US20170286325A1 (en) | Method and system for defining logical block addressing (lba) access permission in storage devices | |
US11960453B2 (en) | Techniques for asynchronous snapshot invalidation | |
WO2015006923A1 (en) | Techniques for dynamically redirecting device driver operations to user space | |
CN109495432B (zh) | 一种匿名账户的鉴权方法及服务器 | |
CN106708631B (zh) | 共享内存属性修改方法及其系统 | |
DE102018115504A1 (de) | Techniken zum Bereitstellen von Schutz vor Zugriff auf gemeinsam verwendeten virtuellen Speicher | |
KR101628436B1 (ko) | 가상 머신의 데이터 처리 방법 | |
KR102458862B1 (ko) | 유전자 분석 정보 제공 시스템 및 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180629 |
|
RJ01 | Rejection of invention patent application after publication |