CN110704868B - NFSv4的访问控制列表修正方法、装置、设备及介质 - Google Patents
NFSv4的访问控制列表修正方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110704868B CN110704868B CN201910843087.1A CN201910843087A CN110704868B CN 110704868 B CN110704868 B CN 110704868B CN 201910843087 A CN201910843087 A CN 201910843087A CN 110704868 B CN110704868 B CN 110704868B
- Authority
- CN
- China
- Prior art keywords
- access control
- control list
- permission
- nfsv4
- owner
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012937 correction Methods 0.000 title claims description 11
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000003780 insertion Methods 0.000 claims abstract description 8
- 230000037431 insertion Effects 0.000 claims abstract description 8
- 230000004048 modification Effects 0.000 claims description 24
- 238000012986 modification Methods 0.000 claims description 19
- 238000002715 modification method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012856 packing Methods 0.000 claims description 2
- 238000000899 pressurised-fluid extraction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
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/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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- 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)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种NFSv4的访问控制列表修正方法、装置、设备及计算机可读存储介质。装置包括用于将所有EVERYONE@项移动到ACL末端的移动模块;用于利用EVERYONE@允许ACE为包括所有者和所有组内的所有类授予权限的第一权限授予模块;用于分别将所有者掩码、其它掩码和所有组掩码应用于OWNER@ACE、EVERYONE@ACE、其余ACE的掩码应用模块;用于当检测到可移植操作系统接口操作chomd,在ACL中插入GROUP@拒绝访问控制项的所有组拒绝ACE插入模块;用于根据所有者掩码调整ACL的第三权限授予模块;用于当检测到可移植操作系统接口操作chomd,在ACL中插入USER@拒绝访问控制项的所有者拒绝ACE插入模块。本申请通过改变NFSv4 ACL中ACE来实现与Linux文件系统的权限位兼容,使得文件系统对象进程不被授予超越mode限制。
Description
技术领域
本发明涉及Linux文件系统中文件对象的访问控制技术领域,特别是涉及一种NFSv4的访问控制列表修正方法、装置、设备及计算机可读存储介质。
背景技术
Linux文件系统的文件系统对象的访问控制为基于传统的权限位方式,分为读、写和执行/查找访问。读权限允许读文件和读目录;写权限允许写文件,创建和删除目录项;执行/查找权限允许执行文件和访问目录项。Linux中的每个文件系统对象均会关联用户标识符(User Identifier,UID)、组标识符(Group Identifier,GID)和模式(mode)。根据其有效用户描述符、有效组描述符和辅助组描述符信息将请求访问文件系统对象的进程分为三种角色:所有者、所有组和其他。
而NFSv4(Network Filesystem version4,网络文件系统第4版)对文件对象的访问控制打破Linux传统的权限位方式,引入了14种权限,并且支持允许和拒绝类型ACE(Access Control Entry,访问控制项),还可选支持审计和警报类型。每个文件系统对象都关联一个用户和一个所有组。特殊OWNER@主体代表当前所有者;特殊GROUP@主体代表文件当前的所有组;特殊EVERYONE@主体表示所有人。NFSv4支持文件创建时继承权限,在NFSv4.1中还添加了对自动继承的支持。
可以理解的是,NFSv4的访问控制列表语义与Linux文件系统的权限位语义发生重大变化,必须要兼容可移植操作系统接口语义,才能在Linux环境中使用。可移植操作系统接口需要在创建或者利用chmod系统调用变更文件系统对象的权限后,进程不被授予超越文件类权限位限制的权限,chmod为Linux系统中用于更改权限模式位的应用程序。但是,由于NFSv4的访问控制列表语义与Linux文件系统访问控制不同导致二者不兼容,NFSv4在Linux环境中执行chmod系统调用或者创建文件系统对象后,文件系统对象进程不被授予超越权限位的限制。
鉴于此,针对在Linux文件系统中创建文件系统对象或执行chmod操作后,如何调整NFSv4的ACL(Access Control List,访问控制列表)来实现进程不被授予超越权限位的限制是本领域技术人员需要解决的问题。
发明内容
本公开实施例提供了一种NFSv4的访问控制列表修正方法、装置、设备及计算机可读存储介质,实现了NFSv4在Linux环境中执行chmod系统调用或者创建文件系统对象后,文件系统对象能够被授予不超过权限位所限制的权限,达到与Linux系统兼容的效果。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种NFSv4的访问控制列表修正装置,应用于Linux文件系统中,包括:
移动模块,用于在不改变NFSv4访问控制列表的权限语义,将所有EVERYONE@项移动到所述访问控制列表末端,以使所述访问控制列表尾部最多有一个EVERYONE@允许访问控制项;
第一权限授予模块,用于利用所述EVERYONE@允许访问控制项为包括所有者和所有组内的所有类授予权限;
掩码应用模块,用于将所有者掩码应用于OWNER@访问控制项,将其它掩码应用于EVERYONE@访问控制项,并将所有组掩码应用于其余的访问控制项;
第二权限授予模块,用于根据所述其他掩码调整所述访问控制列表,以授予所述EVERYONE@项相应的权限;
所有组拒绝ACE插入模块,用于当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入GROUP@拒绝访问控制项;
第三权限授予模块,用于根据所述所有者掩码调整所述访问控制列表,以授予OWNER@项相应的权限;
所有者拒绝ACE插入模块,用于当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入USER@拒绝访问控制项。
可选的,所述第一权限授予模块为通过在所述访问控制列表尾部的EVERYONE@允许访问控制项之前插入预设格式项,以实现为包括所有者和所有组内的所有类授予权限的模块。
可选的,还包括报错模块,所述报错模块用于若文件系统对象进程未被授予超越权限位的限制,则进行访问控制列表修正报错。
可选的,还包括故障定位模块,所述故障定位模块用于若文件系统对象进程未被授予超越权限位的限制,则打包并发送预设时间段内的日志文件,以便于根据所述日志文件定位访问控制列表的修正故障。
本发明实施例另一方面提供了一种NFSv4的访问控制列表修正方法,应用于Linux文件系统中,包括:
在不改变NFSv4访问控制列表的权限语义,将所有EVERYONE@项移动到所述访问控制列表末端,以使所述访问控制列表尾部最多有一个EVERYONE@允许访问控制项;
利用所述EVERYONE@允许访问控制项为包括所有者和所有组内的所有类授予权限;将所有者掩码应用于OWNER@访问控制项,将其它掩码应用于EVERYONE@访问控制项,并将所有组掩码应用于其余的访问控制项;
根据所述其他掩码调整所述访问控制列表,以授予所述EVERYONE@项相应的权限;当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入GROUP@拒绝访问控制项;
根据所述所有者掩码调整所述访问控制列表,以授予OWNER@项相应的权限;当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入USER@拒绝访问控制项。
可选的,所述利用所述EVERYONE@允许访问控制项为包括所有者和所有组内的所有类授予权限包括:
通过在所述访问控制列表尾部的EVERYONE@允许访问控制项之前插入预设格式项,以实现为包括所有者和所有组内的所有类授予权限。
可选的,所述当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入USER@拒绝访问控制项之后,还包括:
判断文件系统对象进程是否被授予超越权限位的限制;
若否,则进行访问控制列表修正报错。
可选的,所述判断文件系统对象进程是否被授予超越权限位的限制之后,还包括:
若文件系统对象进程未被授予超越权限位的限制,则打包并发送预设时间段内的日志文件,以便于根据所述日志文件定位访问控制列表的修正故障。
本发明实施例还提供了一种NFSv4的访问控制列表修正设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述NFSv4的访问控制列表修正方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有NFSv4的访问控制列表修正程序,所述NFSv4的访问控制列表修正程序被处理器执行时实现如前任一项所述NFSv4的访问控制列表修正方法的步骤。
本申请提供的技术方案的优点在于,通过移动模块将所有EVERYONE@项移动到ACL尾部,使得在进行应用掩码时,可将尾部的EVERYONE@允许ACE视为其他类;第一权限授予模块在将其它类权限掩码应用于该ACE之前,可通过为所有者和所有组内的所有类授予权限以确保所有组或所有者类的成员不会丢失来自于该EVERYONE@允许ACE的任何权限,从而实现EVERYONE@ACE与其他类等价,OWNER@ACE与所有者类等价,其余ACE与所有组类等价,便可通过掩码应用模块将各掩码应用于相应ACE项中,最后在POSIX要求在chmod之后,在ACL中插入拒绝ACE项。通过改变NFSv4ACL中访问控制项来实现与Linux文件系统中权限位兼容,从而实现了NFSv4在Linux环境中执行chmod系统调用或者创建文件系统对象后,文件系统对象能够被授予不超过权限位所限制的权限。
此外,本发明实施例还针对NFSv4的访问控制列表修正方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的NFSv4的访问控制列表修正装置的一种具体实施方式结构图;
图2为本发明实施例提供的NFSv4的访问控制列表修正装置的另一种具体实施方式结构图;
图3为本发明实施例提供的一种NFSv4的访问控制列表修正方法的流程示意图;
图4为本发明实施例提供的另一种NFSv4的访问控制列表修正方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先请参阅图1,图1为NFSv4的访问控制列表修正装置在一种具体实施方式下的结构框架示意图,应用于Linux文件系统中,本发明实施例可包括以下内容:
NFSv4的访问控制列表修正装置可包括移动模块1、第一权限授予模块2、掩码应用模块3、第二权限授予模块4、所有组拒绝ACE插入模块5、第三权限授予模块6和所有者拒绝ACE插入模块7。
其中,移动模块1可用于在不改变NFSv4访问控制列表的权限语义,将所有EVERYONE@项移动到访问控制列表末端,以使访问控制列表尾部最多有一个EVERYONE@允许访问控制项。可以理解的是,访问控制列表(ACL)用来指定文件系统对象(比如文件和目录)的访问权限,其为由许多ACE(ACE Access Control Entry,访问控制项)组成的列表,每个访问控制项定义一个用户或组及其权限。ACL的条目类型(ACL_entry_type)包括“OWNER@”、“GROUP@”或“EVERYONE@”。将所有EVERYONE@项移动到ACL末端使得NFSv4ACLs尾部最多有一个EVERYONE@允许ACE。因为没有显式允许就意味着隐式拒绝,所以并不需要EVERYONE@拒绝ACE。当然,移动的前提是不能改变NFSv4ACLs的权限语义。接下来应用掩码时,这种移动使得系统可以将最后的EVERYONE@允许ACE视为其它类。
本申请中,第一权限授予模块2可用于利用EVERYONE@允许访问控制项为包括所有者和所有组内的所有类授予权限。尾部的EVERYONE@允许ACE可以给包括所有者和所有组在内的所有类授予权限。在能够将其它类权限掩码应用于该ACE之前,需要确保所有组或所有者类的成员不会丢失来自于该EVERYONE@允许ACE的任何权限。
在经过上述两个模块执行相应功能后,EVERYONE@ACE与其他类等价,OWNER@ACE与所有者类等价,其余ACE与所有组类等价。此时,可通过掩码应用模块3将所有者掩码应用于OWNER@访问控制项,将其它掩码应用于EVERYONE@访问控制项,并将所有组掩码应用于其余的访问控制项。此处的其余的访问控制项为指所有ACL中除OWNER@访问控制项和EVERYONE@访问控制项之外的其余访问控制项。
本实施例中,第二权限授予模块4可用于根据其他掩码调整访问控制列表,以授予EVERYONE@项相应的权限。由于在移动模块1作用下可以将最后的EVERYONE@允许ACE视为其它类,所以将其它掩码应用于EVERYONE@访问控制项,在应用掩码之后,调整NFSv4的ACL,使得EVERYONE@项具有其他掩码相应的权限。
本申请中,所有组拒绝ACE插入模块5可用于当检测到可移植操作系统接口操作chomd,在访问控制列表中插入GROUP@拒绝访问控制项。POSIX(Portable OperatingSystem Interface of UNIX,可移植操作系统接口)要求在chmod之后,所有组类不能被授予超出所有组权限掩码范围的权限。对于NFSv4ACLs这意味着禁止所有组类获得所有组权限掩码中不包含的权限。此时可通过插入GROUP@拒绝ACE。例如,当应用模式0646对应的权限掩码到下列ACL时,其中r为读权限,w为写权限,x为执行/查找权限,allow为允许:
user1:rwx::allow(user1授予允许读权限、写权限和执行/查找权限);
EVERYONE@:rwx::allow(EVERYONE@授予允许读权限、写权限和执行/查找权限)。
经过第一权限授予模块2、掩码应用模块3处理后:
user1:r::allow(user1授予允许读权限);
OWNER@:rw::allow(OWNER@授予允许读权限和写权限);
GROUP@:r::allow(GROUP@授予允许读权限);
EVERYONE@:rw::allow(EVERYONE@授予允许读权限和写权限)。
该ACL仍然通过EVERYONE@允许ACE授予了user1和GROUP@读写权限。此时,需要拒绝所有组类成员user1和GROUP@的写权限:
user1:r::allow(user1授予允许读权限);
OWNER@:rw::allow(OWNER@授予允许读权限和写权限);
GROUP@:r::allow(GROUP@授予允许读权限);
user1:w::deny(user1授予拒绝写权限);
GROUP@:w::deny(GROUP@授予拒绝写权限);
EVERYONE@:rw::allow(EVERYONE@授予允许读权限和写权限)。
本申请中,第三权限授予模块6可用于根据所有者掩码调整访问控制列表,以授予OWNER@项相应的权限。将所有者掩码应用于OWNER@项之后,调整NFSv4的ACL,使得OWNER@项具有所有者掩码相应的权限。
在本发明实施例中,所有者拒绝ACE插入模块7可用于当检测到可移植操作系统接口操作chomd,在访问控制列表中插入USER@拒绝访问控制项。POSIX要求在chmod之后,所有者类不能被授予超出所有者权限掩码范围的权限。对于NFSv4ACLs这意味着禁止所有者类获得所有者权限掩码中不包含的权限。当将权限掩码应用到授予了所有组或其他类成员比所有者更多权限的ACL时,例如,应用模式0406对应的权限掩码到下列ACL时,EVERYONE@:rwx::allow(EVERYONE@授予允许读权限、写权限和执行/查找权限)。
经过第一权限授予模块2、掩码应用模块3处理后:
OWNER@:r::allow(OWNER@授予允许读权限);
EVERYONE@:rwx::allow(EVERYONE@授予允许读权限、写权限和执行/查找权限)。
该ACL仍然通过EVERYONE@允许ACE授予了所有者读写权限,此时必须拒绝所有者的写权限:
OWNER@:w::deny(OWNER@授予拒绝写权限);
OWNER@:r::allow(OWNER@授予允许读权限);
EVERYONE@:rwx::allow(EVERYONE@授予允许读权限、写权限和执行/查找权限)。
在本发明实施例提供的技术方案中,通过移动模块将所有EVERYONE@项移动到ACL尾部,使得在进行应用掩码时,可将尾部的EVERYONE@允许ACE视为其他类;第一权限授予模块在将其它类权限掩码应用于该ACE之前,可通过为所有者和所有组内的所有类授予权限以确保所有组或所有者类的成员不会丢失来自于该EVERYONE@允许ACE的任何权限,从而实现EVERYONE@ACE与其他类等价,OWNER@ACE与所有者类等价,其余ACE与所有组类等价,便可通过掩码应用模块将各掩码应用于相应ACE项中,最后在POSIX要求在chmod之后,在ACL中插入拒绝ACE项。通过改变NFSv4ACL中访问控制项来实现与Linux文件系统中权限位兼容,从而实现了NFSv4在Linux环境中执行chmod系统调用或者创建文件系统对象后,文件系统对象能够被授予不超过权限位所限制的权限。
作为一种可选的实施方式,第一权限授予模块2还可为通过在所述访问控制列表尾部的EVERYONE@允许访问控制项之前插入预设格式项,以实现为包括所有者和所有组内的所有类授予权限的模块。例如,可以通过在尾部EVERYONE@允许ACE之前插入额外的“<主体>:<权限>::允许”访问控制项或者修改现存ACE来实现上述功能。这些额外的权限与尾部EVERYONE@ACE为OWNER@、GROUP@和所有用户和组提供的权限完全一致。
可以理解的是,由于网络原因等其他原因,NFSv4的ACL修正可能并未成功执行,鉴于此,请参阅图2,本申请还可包括报错模块8,报错模块8可用于若文件系统对象进程未被授予超越权限位的限制,则进行访问控制列表修正报错,例如可通过报警提示或者指示灯闪烁或者是语音报警或者反馈文字报错信息,来提示相关工作人员ACL修正失败,及时进行修复或故障定位。
基于上述实施例,为了快速进行故障定位,ACL修正过程中的日志文件可体现ACL修正失败的原因,为了避免后续日志文件覆盖有效日志文件,在若文件系统对象进程未被授予超越权限位的限制时,可及时将这些日志文件进行复制或剪贴以重新保存在其他文件目录中。相应的,本申请还可包括故障定位模块9,故障定位模块9可用于若文件系统对象进程未被授予超越权限位的限制,则打包并发送预设时间段内的日志文件,以便于根据日志文件定位访问控制列表的修正故障。预设时间段内例如可为开始修正ACL的起始时刻到报错时刻这段时间内。
本发明实施例还针对NFSv4的访问控制列表修正装置提供了相应的实现方法,进一步使得所述装置更具有可行性。下面对本发明实施例提供的NFSv4的访问控制列表修正方法进行介绍,下文描述的NFSv4的访问控制列表修正方法与上文描述的NFSv4的访问控制列表修正装置可相互对应参照。
首先参见图3,图3为本发明实施例提供的一种NFSv4的访问控制列表修正方法的流程示意图,本发明实施例可包括以下内容:
S301:在不改变NFSv4访问控制列表的权限语义,将所有EVERYONE@项移动到访问控制列表末端,以使访问控制列表尾部最多有一个EVERYONE@允许访问控制项。
S302:利用EVERYONE@允许访问控制项为包括所有者和所有组内的所有类授予权限;将所有者掩码应用于OWNER@访问控制项,将其它掩码应用于EVERYONE@访问控制项,并将所有组掩码应用于其余的访问控制项。
S303:根据其他掩码调整访问控制列表,以授予EVERYONE@项相应的权限;当检测到可移植操作系统接口操作chomd,在访问控制列表中插入GROUP@拒绝访问控制项。
S304:根据所有者掩码调整访问控制列表,以授予OWNER@项相应的权限;当检测到可移植操作系统接口操作chomd,在访问控制列表中插入USER@拒绝访问控制项。
可选的,S302可通过在访问控制列表尾部的EVERYONE@允许访问控制项之前插入预设格式项,以实现为包括所有者和所有组内的所有类授予权限。
作为一种优选的实施方式,请参阅图4,在S304之后,还可包括:
S305:判断文件系统对象进程是否被授予超越权限位的限制,若否,则执行S306。
S306:进行访问控制列表修正报错。
S307:打包并发送预设时间段内的日志文件,以便于根据日志文件定位访问控制列表的修正故障。
其中,S306和S307可以同时执行,也可先执行S307,后执行S306,这均不影响本申请的实现。
在本发明实施例提供的技术方案中,将所有EVERYONE@项移动到ACL尾部,使得在进行应用掩码时,可将尾部的EVERYONE@允许ACE视为其他类;在将其它类权限掩码应用于该ACE之前,可通过为所有者和所有组内的所有类授予权限以确保所有组或所有者类的成员不会丢失来自于该EVERYONE@允许ACE的任何权限,从而实现EVERYONE@ACE与其他类等价,OWNER@ACE与所有者类等价,其余ACE与所有组类等价,便可将现有掩码应用于相应ACE项中,然后在POSIX要求在chmod之后,在ACL中插入拒绝ACE项。通过改变NFSv4ACL中访问控制项来实现与Linux文件系统中权限位兼容,从而实现了NFSv4在Linux环境中执行chmod系统调用或者创建文件系统对象后,文件系统对象能够被授予不超过权限位所限制的权限。
本发明实施例还提供了一种NFSv4的访问控制列表修正设备,具体可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如上任意一实施例所述NFSv4的访问控制列表修正方法的步骤。
本发明实施例所述NFSv4的访问控制列表修正设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例实现了NFSv4在Linux环境中执行chmod系统调用或者创建文件系统对象后,文件系统对象能够被授予不超过权限位所限制的权限,达到与Linux系统兼容的效果。
本发明实施例还提供了一种计算机可读存储介质,存储有NFSv4的访问控制列表修正程序,所述NFSv4的访问控制列表修正程序被处理器执行时如上任意一实施例所述NFSv4的访问控制列表修正方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例实现了NFSv4在Linux环境中执行chmod系统调用或者创建文件系统对象后,文件系统对象能够被授予不超过权限位所限制的权限,达到与Linux系统兼容的效果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种NFSv4的访问控制列表修正方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种NFSv4的访问控制列表修正装置,其特征在于,应用于Linux文件系统中,包括:
移动模块,用于在不改变NFSv4访问控制列表的权限语义,将所有EVERYONE@项移动到所述访问控制列表末端,以使所述访问控制列表尾部最多有一个EVERYONE@允许访问控制项;
第一权限授予模块,用于利用所述EVERYONE@允许访问控制项为包括所有者和所有组内的所有类授予权限;
掩码应用模块,用于将所有者掩码应用于OWNER@访问控制项,将其它掩码应用于EVERYONE@访问控制项,并将所有组掩码应用于其余的访问控制项;
第二权限授予模块,用于根据其他掩码调整所述访问控制列表,以授予所述EVERYONE@项相应的权限;
所有组拒绝ACE插入模块,用于当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入GROUP@拒绝访问控制项;
第三权限授予模块,用于根据所述所有者掩码调整所述访问控制列表,以授予OWNER@项相应的权限;
所有者拒绝ACE插入模块,用于当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入USER@拒绝访问控制项。
2.根据权利要求1所述的NFSv4的访问控制列表修正装置,其特征在于,所述第一权限授予模块为通过在所述访问控制列表尾部的EVERYONE@允许访问控制项之前插入预设格式项,以实现为包括所有者和所有组内的所有类授予权限的模块。
3.根据权利要求2所述的NFSv4的访问控制列表修正装置,其特征在于,还包括报错模块,所述报错模块用于若文件系统对象进程未被授予超越权限位的限制,则进行访问控制列表修正报错。
4.根据权利要求3所述的NFSv4的访问控制列表修正装置,其特征在于,还包括故障定位模块,所述故障定位模块用于若文件系统对象进程未被授予超越权限位的限制,则打包并发送预设时间段内的日志文件,以便于根据所述日志文件定位访问控制列表的修正故障。
5.一种NFSv4的访问控制列表修正方法,其特征在于,应用于Linux文件系统中,包括:
在不改变NFSv4访问控制列表的权限语义,将所有EVERYONE@项移动到所述访问控制列表末端,以使所述访问控制列表尾部最多有一个EVERYONE@允许访问控制项;
利用所述EVERYONE@允许访问控制项为包括所有者和所有组内的所有类授予权限;将所有者掩码应用于OWNER@访问控制项,将其它掩码应用于EVERYONE@访问控制项,并将所有组掩码应用于其余的访问控制项;
根据其他掩码调整所述访问控制列表,以授予所述EVERYONE@项相应的权限;当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入GROUP@拒绝访问控制项;
根据所述所有者掩码调整所述访问控制列表,以授予OWNER@项相应的权限;当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入USER@拒绝访问控制项。
6.根据权利要求5所述的NFSv4的访问控制列表修正方法,其特征在于,所述利用所述EVERYONE@允许访问控制项为包括所有者和所有组内的所有类授予权限包括:
通过在所述访问控制列表尾部的EVERYONE@允许访问控制项之前插入预设格式项,以实现为包括所有者和所有组内的所有类授予权限。
7.根据权利要求6所述的NFSv4的访问控制列表修正方法,其特征在于,所述当检测到可移植操作系统接口操作chomd,在所述访问控制列表中插入USER@拒绝访问控制项之后,还包括:
判断文件系统对象进程是否被授予超越权限位的限制;
若否,则进行访问控制列表修正报错。
8.根据权利要求7所述的NFSv4的访问控制列表修正方法,其特征在于,所述判断文件系统对象进程是否被授予超越权限位的限制之后,还包括:
若文件系统对象进程未被授予超越权限位的限制,则打包并发送预设时间段内的日志文件,以便于根据所述日志文件定位访问控制列表的修正故障。
9.一种NFSv4的访问控制列表修正设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求5至8任一项所述NFSv4的访问控制列表修正方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有NFSv4的访问控制列表修正程序,所述NFSv4的访问控制列表修正程序被处理器执行时实现如权利要求5至8任一项所述NFSv4的访问控制列表修正方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843087.1A CN110704868B (zh) | 2019-09-06 | 2019-09-06 | NFSv4的访问控制列表修正方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843087.1A CN110704868B (zh) | 2019-09-06 | 2019-09-06 | NFSv4的访问控制列表修正方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704868A CN110704868A (zh) | 2020-01-17 |
CN110704868B true CN110704868B (zh) | 2021-08-10 |
Family
ID=69194481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910843087.1A Active CN110704868B (zh) | 2019-09-06 | 2019-09-06 | NFSv4的访问控制列表修正方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704868B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8087065B2 (en) * | 2006-11-17 | 2011-12-27 | Mcafee, Inc. | Method and system for implementing mandatory file access control in native discretionary access control environments |
CN101877039A (zh) * | 2009-11-23 | 2010-11-03 | 浪潮电子信息产业股份有限公司 | 一种服务器操作系统的故障检测技术 |
CN104145468B (zh) * | 2014-01-13 | 2017-02-22 | 华为技术有限公司 | 一种文件访问权限控制方法及装置 |
CN106899561B (zh) * | 2015-12-24 | 2020-04-07 | 北京奇虎科技有限公司 | 一种基于acl的tnc权限控制方法和系统 |
CN109740381A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 一种跨文件系统的权限控制方法、装置、设备及存储介质 |
CN109740367A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 一种文件系统访问控制列表的映射方法 |
-
2019
- 2019-09-06 CN CN201910843087.1A patent/CN110704868B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110704868A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108243175B (zh) | 一种基于桶策略的访问控制方法及装置 | |
JP3784423B2 (ja) | データセキュリティのための改良された方法、およびコンピュータシステム | |
JP4628149B2 (ja) | アクセス制御装置及びアクセス制御方法 | |
US20020099952A1 (en) | Policies for secure software execution | |
CN104735091B (zh) | 一种基于Linux系统的用户访问控制方法和装置 | |
CN111159713B (zh) | 基于SELinux的自学习可信策略构建方法及系统 | |
Burns | Developing secure mobile applications for android | |
Sellwood et al. | Sleeping android: The danger of dormant permissions | |
CN111400723A (zh) | 基于tee扩展的操作系统内核强制访问控制方法及系统 | |
CN103379481A (zh) | 一种实现安全防护的方法及一种防火墙 | |
KR20060050768A (ko) | 액세스 인가 api | |
CN111090882B (zh) | 一种redis数据库的操作控制方法、装置及设备 | |
US20130254832A1 (en) | Security Protection Domain-Based Testing Framework | |
CN110472381B (zh) | 基于安卓系统的root权限隐藏方法、系统及存储介质 | |
KR101321479B1 (ko) | 프로세스의 접근 제어를 이용한 응용 소프트웨어의 불법 복제 방지 방법 및 장치 | |
CN110704868B (zh) | NFSv4的访问控制列表修正方法、装置、设备及介质 | |
CN111045725B (zh) | 代码管理系统的控制方法、装置及存储介质 | |
CN110457892B (zh) | 一种嵌入式系统权限管理方法及系统 | |
CN109583206B (zh) | 监控应用程序的访问进程的方法、装置、设备及存储介质 | |
CN109359450B (zh) | Linux系统的安全访问方法、装置、设备和存储介质 | |
CN107392010B (zh) | 执行Root操作的方法及装置、终端设备、存储介质 | |
CN113645060B (zh) | 一种网卡配置方法、数据处理方法及装置 | |
CN115270157A (zh) | 一种访问控制方法及系统 | |
WO2018065750A1 (en) | Enhanced computer objects security | |
CN103886251B (zh) | 系统加固的方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |