CN105183799B - 一种权限管理的方法及客户端 - Google Patents
一种权限管理的方法及客户端 Download PDFInfo
- Publication number
- CN105183799B CN105183799B CN201510527526.XA CN201510527526A CN105183799B CN 105183799 B CN105183799 B CN 105183799B CN 201510527526 A CN201510527526 A CN 201510527526A CN 105183799 B CN105183799 B CN 105183799B
- Authority
- CN
- China
- Prior art keywords
- file
- module
- user
- operated
- data information
- 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
Classifications
-
- 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/18—File system types
- G06F16/188—Virtual file 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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (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
本发明公开了一种权限管理的方法及客户端,所述方法应用于客户端,客户端包括内核模块、VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定内核模块能获取ACL数据信息时,VFS模块触发内核模块获取所述待操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。本发明实现了有效的管理用户权限,保证了文件***的安全性。
Description
技术领域
本发明涉及文件***技术领域,尤指一种权限管理的方法及客户端。
背景技术
在分布式文件***中,文件***管理的物理存储资源分布在通过计算机网络连接的多个节点上。分布式文件***是基于客户/服务器模式的,包括客户端和服务器端。在服务器端包括元数据服务器和数据块服务器,其中,数据块服务器用来存储文件的实际数据;元数据服务器作为分布式文件***的中心节点,用于存储文件的元信息,包括文件的大小、创建日期和文件数据保存在数据服务器的位置等信息,同时协调各个数据块服务器,保证数据块服务器的负载均衡。
用户权限管理是文件***中非常重要的一部分。通常情况下,文件或目录的用户可以分为:目录或文件的所有者、所属群组及其他用户。考虑到安全因素,不同用户对不同文件应该具有不同的操作权限,因此对于分布式文件***,设计合理有效的用户权限管理对保证其安全性具有关键性作用。在现有技术中,通常在客户端进行用户权限的管理。客户端中包括用户态模块、VFS模块及内核模块。客户端的VFS模块获取用户对待操作文件的文件操作请求,并通过内核模块触发用户态模块获取ACL数据信息。用户态模块在服务器端获取待操作文件的ACL数据信息,用户态模块在获取到ACL数据信息后,根据获取的ACL数据信息对用户的权限进行校验,并将校验结果通过内核模块发送至VFS模块。
在现有技术中,客户端在处理用户的文件操作时,存在需将某一文件操作分为多次进行的情况。例如,用户需要进行写操作时,客户端在处理写操作时,由于客户端一次写入的数据有限,因此,在用户需要写入的数据较大时,需要将用户写入的数据分为多个数据段,以数据段为单位进行数据的写入。由于客户端通过用户态模块进行用户权限的管理,而用户态模块处理客户端的用户态进程,VFS模块处理客户端的内核态进程。用户态模块与VFS模块的运行级别不同。因此,在进行数据写入时,VFS模块进行数据段的写入时,针对每个数据段的写入均需要进行用户权限的校验。即为,针对每个数据段,VFS模块需要通过内核模块触发用户态模块获取待操作文件的ACL数据信息。用户态模块从服务器端获取相应的ACL数据信息,并对用户权限进行校验,以检测用户是否具有对待操作文件进行读操作的权限。并将检验结果发送至VFS模块。由于用户态模块与VFS模块的运行级别不同,而在用户需要对此待操作文件进行写操作时,需要通过上述过程,由用户态模块从服务器端获取相应的ACL数据信息,并对用户权限进行校验,以检测用户是否具有对待操作文件进行写操作的权限。并将校验结果发送至VFS模块。在校验结果显示用户具有写操作权限时,VFS模块才会将数据段写入待操作文件中。这样,由于上述方法在将数据分为多个数据段进行写入时,需要针对每个数据段的写操作进行用户权限的校验,上述权限管理的实现方法不够灵活,操作较为冗余,浪费客户端的资源。
发明内容
为了解决上述技术问题,本发明提供了一种权限管理的方法及客户端,能够灵活有效的管理用户权限,保证文件***的安全性,并降低客户端的资源浪费。
为了达到本发明目的,本发明提供了一种权限管理的方法,应用于客户端,所述客户端包括内核模块、虚拟文件***VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。
可选地,所述客户端还包括:用户态模块;所述内核模块获取所述待操作文件的ACL数据信息包括:所述内核模块通过所述用户态模块获取所述待操作文件的ACL数据信息。
可选地,所述VFS模块根据所述校验结果,处理所述文件操作请求包括:在所述校验结果指示所述用户具有对待操作文件进行文件操作的权限时,所述VFS模块根据所述文件操作请求,处理所述待操作文件。
可选地,所述VFS模块根据所述校验结果,处理所述文件操作请求还包括:在所述校验结果指示所述用户不具有对待操作文件进行文件操作的权限时,所述VFS模块不处理所述文件操作请求,并向用户返回操作失败的消息。
可选地,在所述VFS模块获取用户对待操作文件的文件操作请求之前,还包括:所述内核模块向所述VFS模块发送,其设置有获取ACL数据信息的功能的相关信息。
进一步的,本发明实施例提供了一种客户端,至少包括:虚拟文件***VFS模块,内核模块;其中,所述VFS模块,用于获取用户对待操作文件的文件操作请求;确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;根据所述校验结果,处理所述文件操作请求;所述内核模块,用于获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将校验结果发送至所述VFS模块。
可选地,客户端还包括:用户态模块;所述内核模块,具体用于通过所述用户态模块获取所述待操作文件的ACL数据信息;所述用户态模块,用于在内核模块的触发下,从服务器端获取所述待操作文件的ACL数据信息。
可选地,当所述校验结果显示所述用户具有对待操作文件进行文件操作的权限时,所述VFS模块,还用于根据所述文件操作请求,处理所述待操作文件。
可选地,当所述校验结果显示所述用户不具有对待操作文件进行文件操作的权限时,所述VFS模块,还用于不处理所述文件操作请求,并向用户返回操作失败的消息。
可选地,所述内核模块,还用于向所述VFS模块发送,所述内核模块设置有获取ACL数据信息的功能的相关信息。
与现有技术相比,本发明的方法应用于客户端,所述客户端包括内核模块、虚拟文件***VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。这样,用户在访问分布式文件***时,客户端中的内核模块需要先对用户的权限进行校验,确定此用户是否有权限对待操作文件进行相应的文件操作。客户端中的VFS模块根据内核模块的校验结果,处理用户的处理所述文件操作请求。由于VFS模块与内核模块的运行级别相同,因此由内核模块根据ACL数据信息对用户权限进行校验时,针对将某一文件操作分为多次进行的情况时,无需进行多次校验,仅需进行一次,从而实现了灵活有效的管理用户权限,保证了文件***的安全性,并降低了客户端的资源浪费。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的一种权限管理的方法的流程示意图;
图2为本发明实施例提供的另一种权限管理的方法的流程示意图;
图3为本发明实施例提供的一种客户端的结构示意图;
图4为本发明实施例提供的另一种客户端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种权限管理的方法,应用于客户端,客户端包括内核模块、VFS(Virtual File System,虚拟文件***)模块。所示方法,如图1所示,包括:
步骤101、VFS模块获取用户对待操作文件的文件操作请求。
具体的,用户需要对待操作文件进行文件操作时,向客户端的VFS模块发送文件操作请求。此时,VFS模块可以接收到用户发送的文件操作请求。此时,在文件操作请求中可以携带有用户的标识信息。这样,VFS模块可以根据用户的标识信息获知用户是待操作文件的哪种用户。即为,确定出此用户的用户类型。
其中,文件操作是指用户对待操作文件需要进行的操作。例如,可以是访问操作,写操作,删除操作等。
进一步的,文件操作请求中携带有待操作文件的文件标识。
其中,文件标识是指能够唯一标示出文件的标识。
在本发明所有实施例中,VFS模块与内核模块均处理客户端的内核进程,属于同一级别。
步骤102、VFS模块确定所述内核模块是否能获取ACL数据信息。
其中,ACL数据信息记录有待操作文件的操作权限的相关信息。即为,ACL数据信息中记录了待操作文件的不同用户对其所具有的操作权限。例如,在客户端的操作***为Linux操作***时,待操作文件的用户可以分为:待操作文件的文件所有者,所属群组及其他用户。在ACL数据信息中,记录了待操作文件的文件所有者的操作权限,所属群组的操作权限及其他用户的操作权限。
具体的,VFS模块在接收到用户发送的文件操作请求后,需要先确定此用户是否有操作待操作文件的权限。而待操作文件的操作权限的相关信息存储至ACL数据信息中,但是VFS模块并不能直接获取ACL数据信息,并对用户的权限进行验证。而在内核模块配置了获取ACL数据信息的功能时,可以对用户的权限进行验证,因此VFS模块需要先确定内核模块是否能获取ACL数据信息。即为,VFS模块需要先确定内核模块是否配置了获取ACL数据信息的功能。
步骤103、在确定内核模块能获取ACL数据信息时,VFS模块触发内核模块获取待操作文件的ACL数据信息。
具体的,VFS模块在确定出内核模块能够获取ACL数据信息时,向内核模块发送触发消息,以使得内核模块在接收到此触发消息后,获取待操作文件的ACL数据信息。
其中,触发消息中携带有文件标识、用户的标识信息及用户需要进行的文件操作的信息。
步骤104、内核模块获取待操作文件的ACL数据信息,对用户的权限进行校验,并将检验结果发送至VFS模块。
具体的,内核模块在接收到触发消息后,可以解析此触发消息,进而获取到文件标识、用户的标识信息及用户需要进行的文件操作的信息。进而可以根据文件标识获取此待操作文件的ACL数据信息。在获取到ACL数据信息后,可以解析此ACL数据信息,进而获取到ACL数据信息中记录的不同类型的用户对应的操作权限。这样,内核模块根据ACL数据信息,及从触发消息中解析出的用户的标识信息及用户需要进行的文件操作的信息,对发送文件操作请求的用户进行权限校验,以确定发送文件操作请求的用户是否具有对文件进行相应文件操作的权限。并将校验结果发送至VFS模块。
需要说明的,在ACL数据信息存储至内核模块能够访问的存储设备中时,内核设备可以根据文件标识访问存储设备,在存储设备中获取到待操作文件的ACL数据信息。
进一步的,ACL数据信息通常存储至服务器端,此时内核模块无法直接从服务器端获取到所需的ACL数据信息。此时,客户端还包括:用户态模块。这样,内核模块获取待操作文件的ACL数据信息包括:内核模块通过用户态模块获取待操作文件的ACL数据信息。
也就是说,内核模块在需要获取ACL数据信息时,可以向用户态模块发送获取ACL数据信息的请求消息,此请求消息中携带有文件标识。用户态模块在接收到获取ACL数据信息的请求消息后,可以向服务器端发送携带有文件标识的获取ACL数据信息的请求消息。服务器端根据文件标识,在存储了ACL数据信息的存储空间中获取到相应的ACL数据信息,并将此ACL数据信息发送至客户端的用户态模块。客户端的用户态模块在接收到文件标识对应的ACL数据信息后,将此文件标识对应的ACL数据信息发送至内核模块。内核模块接收用户态模块返回的文件标识对应的ACL数据信息。
步骤105、VFS模块根据所述校验结果,处理所述文件操作请求。
具体的,VFS模块在接收到内核模块返回的校验结果后,根据此校验结果处理文件操作请求。由于校验结果有两种结果,因此VFS模块需要根据校验结果的不同,对文件操作请求进行不同的处理,具体如下:
在校验结果显示用户具有对待操作文件进行文件操作的权限时,VFS模块根据文件操作请求,处理待操作文件。即为,在校验结果显示用户具有对待操作文件进行文件操作的权限时,VFS模块可以根据用户需要进行的文件操作,对待操作文件进行相应的文件操作。例如,用户需要对待操作文件进行访问操作,在校验结果显示用户具有对待操作文件进行访问操作的权限时,VFS模块可以将待操作文件进行访问操作的处理。
在校验结果显示用户不具有对待操作文件进行文件操作的权限时,VFS模块不处理文件操作请求,并向用户返回操作失败的消息。即为,在校验结果显示用户不具有对待操作文件进行文件操作的权限时,VFS模块可以不处理用户发送的文件操作请求,并向用户发送操作失败的消息。进一步的,此操作失败消息中包含有失败原因的消息。例如,用户需要对待操作文件进行写操作,在校验结果显示用户不具有对待操作文件进行写操作的权限时,VFS模块可以不处理用户发送的对待操作文件进行写操作的请求,并向用户返回操作失败的消息。进一步的,此操作失败的消息中携带有不具有待操作文件的写操作的权限的失败原因的消息。
示例性的,用户需要将数据A写入待操作文件1中,此时用户向客户端发送对待操作文件1的写操作请求。且,写操作请求中包含有需进行写入的数据A。客户端的VFS模块可以接收到用户对待操作文件1的写操作请求。VFS模块需确认内核模块是否能获取ACL数据信息。在确定内核模块可以获取ACL数据信息时,可以向内核模块发送触发消息,以触发内核模块获取待操作文件1的ACL数据信息。此触发消息中携带有待操作文件1的文件标识,用户的标识信息及用户需对待操作文件1进行写操作的信息。内核模块在接收到触发消息后,可以通过用户态模块获取待操作文件1的ACL数据信息。在通过用户态模块获取了待操作文件1的ACL数据信息后,可以解析待操作文件1的ACL数据信息,获取ACL数据信息中记录的待操作文件1的不同类型的用户对应的操作权限。内核模块根据触发消息中携带的用户的标识信息及用户需进行的写操作的信息,对此用户进行权限校验,以确定此用户是否具有对待操作文件1的写操作。在确定此用户具有对待操作文件1具有写操作时,将显示用户具有对待操作文件进行文件操作的权限的校验结果发送至VFS模块,此时VFS可以根据校验结果对用户需写入的数据A进行写操作。在对数据A进行写操作时,由于一次写入的数据大小有限制,此时需将数据A分为3个数据段。由于VFS模块与内核模块属于同一运行级别,此时,在内核模块对用户权限验证完成后,VFS模块直接将3个数据段分别写入待操作文件1中。无需每进行一次数据段的写入时,进行用户权限的验证,这样可以灵活有效的进行用户权限的管理,操作简单,降低了客户端的资源浪费。
本发明实施例提供了一种权限管理的方法,所述方法应用于客户端,所述客户端包括内核模块、虚拟文件***VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。这样,用户在访问分布式文件***时,客户端中的内核模块需要先对用户的权限进行校验,确定此用户是否有权限对待操作文件进行相应的文件操作。客户端中的VFS模块根据内核模块的校验结果,处理用户的处理所述文件操作请求。由于VFS模块与内核模块的运行级别相同,因此由内核模块根据ACL数据信息对用户权限进行校验时,针对将某一文件操作分为多次进行的情况时,无需进行多次校验,仅需进行一次,从而实现了灵活有效的管理用户权限,保证了文件***的安全性,并降低了客户端的资源浪费。
本发明实施例提供了一种权限管理的方法,应用于客户端,所述客户端包括内核模块、虚拟文件***VFS模块,所述方法,如图2所示,包括:
步骤201、内核模块向VFS模块发送,其设置有获取ACL数据信息的功能的相关信息。
具体的,在本发明实施例中,由内核模块在获取了ACL数据信息后,根据此ACL数据信息对用户的权限进行校验,因此,在内核模块中需要预先设置获取ACL数据信息的功能。由于VFS模块在接收到用户发送的文件操作请求后,需要确定内核模块中是否具有获取ACL数据信息的功能,因此,内核模块在设置完获取ACL数据信息的功能后,可以向VFS模块发送其设置有获取ACL数据信息的功能的相关信息。这样,VFS模块在确定内核模块中是否具有获取ACL数据信息的功能时,可以检测是否接收到内核模块发送的,用于指示其设置有获取ACL数据信息的功能的相关信息。若没有检测到此相关信息,则说明内核模块中不具有获取ACL数据信息的功能。若可以检测到此相关信息,则说明内核模块中具有获取ACL数据信息的功能。
进一步的,可以在内核模块中设置ACL功能函数,这样可以在需要获取ACL数据信息时,调用此ACL功能函数。此时,由于VFS模块中设置ACL钩子函数,因此,内核模块可以再设置完ACL功能函数后,将此ACL功能函数注册到VFS模块中设置ACL钩子函数中。此时,VFS模块确定内核模块中是否具有获取ACL数据信息的功能的实现方法可以是:VFS模块通过ACL钩子函数确定内核模块中是否具有ACL功能函数。
在本步骤中的ACL功能函数用于获取ACL数据信息。
步骤202、VFS模块获取用户对待操作文件的文件操作请求。
具体的,可参考步骤101,在此不再赘述。
步骤203、VFS模块确定内核模块是否能获取ACL数据信息。
其中,ACL数据信息中记录有待操作文件的操作权限的相关信息。
具体的,可参考步骤102及步骤201,在此不再赘述。
步骤204、在确定内核模块能获取ACL数据信息时,VFS模块触发内核模块获取待操作文件的ACL数据信息。
具体的,可参考步骤103,在此不再赘述。
步骤205、内核模块获取待操作文件的ACL数据信息,对用户的权限进行校验,并将检验结果发送至VFS模块。
具体的,可参考步骤104,在此不再赘述。
步骤206、VFS模块根据检验结果,处理文件操作请求。
具体的,可参考步骤105,在此不再赘述。
本发明实施例提供了一种权限管理的方法,所述方法应用于客户端,所述客户端包括内核模块、虚拟文件***VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。这样,用户在访问分布式文件***时,客户端中的内核模块需要先对用户的权限进行校验,确定此用户是否有权限对待操作文件进行相应的文件操作。客户端中的VFS模块根据内核模块的校验结果,处理用户的处理所述文件操作请求。由于VFS模块与内核模块的运行级别相同,因此由内核模块根据ACL数据信息对用户权限进行校验时,针对将某一文件操作分为多次进行的情况时,无需进行多次校验,仅需进行一次,从而实现了灵活有效的管理用户权限,保证了文件***的安全性,并降低了客户端的资源浪费。
本发明实施例提供了一种客户端,如图3所示,至少包括:虚拟文件***VFS模块301和内核模块302。其中,
虚拟文件***VFS模块301,用于获取用户对待操作文件的文件操作请求。确定内核模块302是否能获取ACL数据信息。根据校验结果,处理文件操作请求。
其中,ACL数据信息中记录有所述待操作文件的操作权限的相关信息。
内核模块302,用于获取待操作文件的ACL数据信息,对用户的权限进行校验,并将校验结果发送至VFS模块301。
具体的,在校验结果显示用户具有对待操作文件进行文件操作的权限时,VFS模块301根据文件操作请求,处理待操作文件。
在校验结果显示用户不具有对待操作文件进行文件操作的权限时,VFS模块301不处理文件操作请求,并向用户返回操作失败的消息。
进一步的,上述客户端,如图4所示,还包括:用户态客户端303。
此时,内核模块302,具体用于通过用户态模块303获取待操作文件的ACL数据信息。
用户态模块303,用于在内核模块302的触发下,从服务器端获取待操作文件的ACL数据信息。
进一步的,内核模块302,还用于向VFS模块301发送,内核模块302设置有获取ACL数据信息的功能的相关信息。
本发明实施例提供了一种客户端包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。这样,用户在访问分布式文件***时,客户端中的内核模块需要先对用户的权限进行校验,确定此用户是否有权限对待操作文件进行相应的文件操作。客户端中的VFS模块根据内核模块的校验结果,处理用户的处理所述文件操作请求。由于VFS模块与内核模块的运行级别相同,因此由内核模块根据ACL数据信息对用户权限进行校验时,针对将某一文件操作分为多次进行的情况时,无需进行多次校验,仅需进行一次,从而实现了灵活有效的管理用户权限,保证了文件***的安全性,并降低了客户端的资源浪费。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种权限管理的方法,其特征在于,应用于客户端,所述客户端包括内核模块、虚拟文件***VFS模块,所述内核模块与VFS模块的运行级别相同,所述方法包括:
VFS模块获取用户对待操作文件的文件操作请求,所述文件操作包括删除操作;所述文件操作请求中携带有用户的标识信息,使VFS模块能够根据用户的标识信息获知用户是待操作文件的哪种用户,即确定出此用户的用户类型;所述文件操作请求中还携带有待操作文件的文件标识,所述文件标识是能够唯一标示出文件的标识;
VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息,即ACL数据信息中记录了待操作文件的不同用户对其所具有的操作权限,待操作文件的用户分为:待操作文件的文件所有者,所属群组及其它用户;
在确定内核模块能获取ACL数据信息时,VFS模块触发内核模块获取所述待操作文件的ACL数据信息,向内核模块发送触发消息,所述触发消息中携带有文件标识、用户的标识信息及用户需要进行的文件操作的信息;
内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将校验结果发送至VFS模块;
VFS模块根据所述校验结果,处理所述文件操作请求。
2.根据权利要求1所述的权限管理的方法,其特征在于,所述客户端还包括:用户态模块;
所述内核模块获取所述待操作文件的ACL数据信息包括:
所述内核模块通过所述用户态模块获取所述待操作文件的ACL数据信息。
3.根据权利要求1或2所述的权限管理的方法,其特征在于,所述VFS模块根据所述校验结果,处理所述文件操作请求包括:
在所述校验结果指示所述用户具有对待操作文件进行文件操作的权限时,所述VFS模块根据所述文件操作请求,处理所述待操作文件。
4.根据权利要求3所述的权限管理的方法,其特征在于,所述VFS模块根据所述校验结果,处理所述文件操作请求还包括:
在所述校验结果指示所述用户不具有对待操作文件进行文件操作的权限时,所述VFS模块不处理所述文件操作请求,并向用户返回操作失败的消息。
5.根据权利要求4所述的权限管理的方法,其特征在于,在所述VFS模块获取用户对待操作文件的文件操作请求之前,还包括:
所述内核模块向所述VFS模块发送,其设置有获取ACL数据信息的功能的相关信息。
6.一种客户端,其特征在于,至少包括:虚拟文件***VFS模块,内核模块,所述内核模块与VFS模块的运行级别相同;其中,
所述VFS模块,用于获取用户对待操作文件的文件操作请求,所述文件操作包括删除操作;所述文件操作请求中携带有用户的标识信息,使VFS模块能够根据用户的标识信息获知用户是待操作文件的哪种用户,即确定出此用户的用户类型;所述文件操作请求中还携带有待操作文件的文件标识,所述文件标识是能够唯一标示出文件的标识;确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息,即ACL数据信息中记录了待操作文件的不同用户对其所具有的操作权限,待操作文件的用户分为:待操作文件的文件所有者,所属群组及其它用户;在确定内核模块能获取ACL数据信息时,VFS模块触发内核模块获取所述待操作文件的ACL数据信息,向内核模块发送触发消息,所述触发消息中携带有文件标识、用户的标识信息及用户需要进行的文件操作的信息;根据校验结果,处理所述文件操作请求;
所述内核模块,用于获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将校验结果发送至所述VFS模块。
7.根据权利要求6所述的客户端,其特征在于,还包括:用户态模块;
所述内核模块,具体用于通过所述用户态模块获取所述待操作文件的ACL数据信息;
所述用户态模块,用于在内核模块的触发下,从服务器端获取所述待操作文件的ACL数据信息。
8.根据权利要求6或7所述的客户端,其特征在于,
当所述校验结果显示所述用户具有对待操作文件进行文件操作的权限时,所述VFS模块,还用于根据所述文件操作请求,处理所述待操作文件。
9.根据权利要求8所述的客户端,其特征在于,
当所述校验结果显示所述用户不具有对待操作文件进行文件操作的权限时,所述VFS模块,还用于不处理所述文件操作请求,并向用户返回操作失败的消息。
10.根据权利要求9所述的客户端,其特征在于,
所述内核模块,还用于向所述VFS模块发送,所述内核模块设置有获取ACL数据信息的功能的相关信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510527526.XA CN105183799B (zh) | 2015-08-25 | 2015-08-25 | 一种权限管理的方法及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510527526.XA CN105183799B (zh) | 2015-08-25 | 2015-08-25 | 一种权限管理的方法及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183799A CN105183799A (zh) | 2015-12-23 |
CN105183799B true CN105183799B (zh) | 2019-12-24 |
Family
ID=54905882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510527526.XA Active CN105183799B (zh) | 2015-08-25 | 2015-08-25 | 一种权限管理的方法及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183799B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760164B (zh) * | 2016-02-15 | 2020-01-10 | 苏州浪潮智能科技有限公司 | 一种用户空间文件***中acl权限的实现方法 |
CN109002727A (zh) * | 2018-06-28 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种分布式存储acl快速响应权限校验的方法 |
CN110602164B (zh) * | 2019-08-08 | 2022-10-11 | 北京达佳互联信息技术有限公司 | 文件权限的处理方法、装置、电子设备及可读存储介质 |
CN110515906A (zh) * | 2019-08-30 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种产品展示方法、装置、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493873A (zh) * | 2009-03-04 | 2009-07-29 | 浪潮电子信息产业股份有限公司 | 基于内核层技术实现对win平台文件读写操作访问控制方法 |
CN103268455A (zh) * | 2013-05-09 | 2013-08-28 | 华为技术有限公司 | 数据的访问方法及装置 |
CN103581187A (zh) * | 2013-11-05 | 2014-02-12 | 曙光云计算技术有限公司 | 访问权限的控制方法及控制*** |
CN103841113A (zh) * | 2014-03-20 | 2014-06-04 | 武汉理工大学 | 一种基于用户模式文件***的安全网络文件*** |
CN103971067A (zh) * | 2014-05-30 | 2014-08-06 | 中国人民解放军国防科学技术大学 | 支持核内外实体的操作***内核统一访问控制方法 |
CN104735091A (zh) * | 2015-04-17 | 2015-06-24 | 三星电子(中国)研发中心 | 一种基于Linux***的用户访问控制方法和装置 |
-
2015
- 2015-08-25 CN CN201510527526.XA patent/CN105183799B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493873A (zh) * | 2009-03-04 | 2009-07-29 | 浪潮电子信息产业股份有限公司 | 基于内核层技术实现对win平台文件读写操作访问控制方法 |
CN103268455A (zh) * | 2013-05-09 | 2013-08-28 | 华为技术有限公司 | 数据的访问方法及装置 |
CN103581187A (zh) * | 2013-11-05 | 2014-02-12 | 曙光云计算技术有限公司 | 访问权限的控制方法及控制*** |
CN103841113A (zh) * | 2014-03-20 | 2014-06-04 | 武汉理工大学 | 一种基于用户模式文件***的安全网络文件*** |
CN103971067A (zh) * | 2014-05-30 | 2014-08-06 | 中国人民解放军国防科学技术大学 | 支持核内外实体的操作***内核统一访问控制方法 |
CN104735091A (zh) * | 2015-04-17 | 2015-06-24 | 三星电子(中国)研发中心 | 一种基于Linux***的用户访问控制方法和装置 |
Non-Patent Citations (2)
Title |
---|
Linux访问控制列表机制的缺陷分析;吴秀文等;《2006中国计算机学会体系结构专委会学术年会论文集》;20070723;305-308 * |
巧用2.6内核新功能配置文件A C L;马路遥;《开放***世界》;20040731;74-75 * |
Also Published As
Publication number | Publication date |
---|---|
CN105183799A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11334562B2 (en) | Blockchain based data management system and method thereof | |
CN108446407B (zh) | 基于区块链的数据库审计方法和装置 | |
CN110414268B (zh) | 访问控制方法、装置、设备及存储介质 | |
CN110298188B (zh) | 动态访问权限的控制方法及*** | |
CN108108127B (zh) | 一种文件读取方法及*** | |
WO2015163983A1 (en) | Version control of applications | |
CN105183799B (zh) | 一种权限管理的方法及客户端 | |
US10013312B2 (en) | Method and system for a safe archiving of data | |
US20150319242A1 (en) | Disconnected ingest in a distributed storage system | |
US10282120B2 (en) | Method, apparatus and system for inserting disk | |
CN110659259A (zh) | 数据库迁移方法、服务器以及计算机存储介质 | |
CN113779545A (zh) | 数据跨进程共享的方法、终端设备及计算机可读存储介质 | |
CN113312656B (zh) | 数据轮转方法、装置、设备及*** | |
CN111124591B (zh) | 一种镜像传输方法、装置、电子设备及存储介质 | |
CN106529281A (zh) | 一种可执行文件处理方法及装置 | |
CN109144947A (zh) | 一种虚拟化***的集群文件***的控制方法和装置 | |
CN111324799B (zh) | 搜索请求的处理方法及装置 | |
CN109145536A (zh) | 一种网页防篡改方法及装置 | |
CN117131014A (zh) | 数据库迁移方法、装置、设备及存储介质 | |
CN116610498A (zh) | 基于对象存储的数据备份恢复方法、***、设备及介质 | |
CN116502259A (zh) | 基于租户id的数据库管理方法、装置及计算机可读介质 | |
CN115309334A (zh) | 磁盘管理方法、装置、设备及存储介质 | |
CN109725856B (zh) | 一种共享节点管理方法、装置、电子设备及存储介质 | |
CN114564706A (zh) | 一种用户权限管理方法、装置、电子设备及存储介质 | |
JP5972455B2 (ja) | 情報を削除する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191125 Address after: 215100 Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province Applicant after: Suzhou Wave Intelligent Technology Co., Ltd. Address before: 100085 Beijing, Haidian District on the road to information on the ground floor, building 2-1, No. 1, C Applicant before: Tide (Beijing) Electronic Information Industry Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |