一种权限管理的方法及客户端的制作方法

文档序号:9432620阅读:270来源:国知局
一种权限管理的方法及客户端的制作方法
【技术领域】
[0001]本发明涉及文件系统技术领域,尤指一种权限管理的方法及客户端。
【背景技术】
[0002]在分布式文件系统中,文件系统管理的物理存储资源分布在通过计算机网络连接的多个节点上。分布式文件系统是基于客户/服务器模式的,包括客户端和服务器端。在服务器端包括元数据服务器和数据块服务器,其中,数据块服务器用来存储文件的实际数据;元数据服务器作为分布式文件系统的中心节点,用于存储文件的元信息,包括文件的大小、创建日期和文件数据保存在数据服务器的位置等信息,同时协调各个数据块服务器,保证数据块服务器的负载均衡。
[0003]用户权限管理是文件系统中非常重要的一部分。通常情况下,文件或目录的用户可以分为:目录或文件的所有者、所属群组及其他用户。考虑到安全因素,不同用户对不同文件应该具有不同的操作权限,因此对于分布式文件系统,设计合理有效的用户权限管理对保证其安全性具有关键性作用。在现有技术中,通常在客户端进行用户权限的管理。客户端中包括用户态模块、VFS模块及内核模块。客户端的VFS模块获取用户对待操作文件的文件操作请求,并通过内核模块触发用户态模块获取ACL数据信息。用户态模块在服务器端获取待操作文件的ACL数据信息,用户态模块在获取到ACL数据信息后,根据获取的ACL数据信息对用户的权限进行校验,并将校验结果通过内核模块发送至VFS模块。
[0004]在现有技术中,客户端在处理用户的文件操作时,存在需将某一文件操作分为多次进行的情况。例如,用户需要进行写操作时,客户端在处理写操作时,由于客户端一次写入的数据有限,因此,在用户需要写入的数据较大时,需要将用户写入的数据分为多个数据段,以数据段为单位进行数据的写入。由于客户端通过用户态模块进行用户权限的管理,而用户态模块处理客户端的用户态进程,VFS模块处理客户端的内核态进程。用户态模块与VFS模块的运行级别不同。因此,在进行数据写入时,VFS模块进行数据段的写入时,针对每个数据段的写入均需要进行用户权限的校验。即为,针对每个数据段,VFS模块需要通过内核模块触发用户态模块获取待操作文件的ACL数据信息。用户态模块从服务器端获取相应的ACL数据信息,并对用户权限进行校验,以检测用户是否具有对待操作文件进行读操作的权限。并将检验结果发送至VFS模块。由于用户态模块与VFS模块的运行级别不同,而在用户需要对此待操作文件进行写操作时,需要通过上述过程,由用户态模块从服务器端获取相应的ACL数据信息,并对用户权限进行校验,以检测用户是否具有对待操作文件进行写操作的权限。并将校验结果发送至VFS模块。在校验结果显示用户具有写操作权限时,VFS模块才会将数据段写入待操作文件中。这样,由于上述方法在将数据分为多个数据段进行写入时,需要针对每个数据段的写操作进行用户权限的校验,上述权限管理的实现方法不够灵活,操作较为冗余,浪费客户端的资源。

【发明内容】

[0005]为了解决上述技术问题,本发明提供了一种权限管理的方法及客户端,能够灵活有效的管理用户权限,保证文件系统的安全性,并降低客户端的资源浪费。
[0006]为了达到本发明目的,本发明提供了一种权限管理的方法,应用于客户端,所述客户端包括内核模块、虚拟文件系统VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。
[0007]可选地,所述客户端还包括:用户态模块;所述内核模块获取所述待操作文件的ACL数据信息包括:所述内核模块通过所述用户态模块获取所述待操作文件的ACL数据信息。
[0008]可选地,所述VFS模块根据所述校验结果,处理所述文件操作请求包括:在所述校验结果指示所述用户具有对待操作文件进行文件操作的权限时,所述VFS模块根据所述文件操作请求,处理所述待操作文件。
[0009]可选地,所述VFS模块根据所述校验结果,处理所述文件操作请求还包括:在所述校验结果指示所述用户不具有对待操作文件进行文件操作的权限时,所述VFS模块不处理所述文件操作请求,并向用户返回操作失败的消息。
[0010]可选地,在所述VFS模块获取用户对待操作文件的文件操作请求之前,还包括:所述内核模块向所述VFS模块发送,其设置有获取ACL数据信息的功能的相关信息。
[0011]进一步的,本发明实施例提供了一种客户端,至少包括:虚拟文件系统VFS模块,内核模块;其中,所述VFS模块,用于获取用户对待操作文件的文件操作请求;确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;根据所述校验结果,处理所述文件操作请求;所述内核模块,用于获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将校验结果发送至所述VFS模块。
[0012]可选地,客户端还包括:用户态模块;所述内核模块,具体用于通过所述用户态模块获取所述待操作文件的ACL数据信息;所述用户态模块,用于在内核模块的触发下,从服务器端获取所述待操作文件的ACL数据信息。
[0013]可选地,当所述校验结果显示所述用户具有对待操作文件进行文件操作的权限时,所述VFS模块,还用于根据所述文件操作请求,处理所述待操作文件。
[0014]可选地,当所述校验结果显示所述用户不具有对待操作文件进行文件操作的权限时,所述VFS模块,还用于不处理所述文件操作请求,并向用户返回操作失败的消息。
[0015]可选地,所述内核模块,还用于向所述VFS模块发送,所述内核模块设置有获取ACL数据信息的功能的相关信息。
[0016]与现有技术相比,本发明的方法应用于客户端,所述客户端包括内核模块、虚拟文件系统VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。这样,用户在访问分布式文件系统时,客户端中的内核模块需要先对用户的权限进行校验,确定此用户是否有权限对待操作文件进行相应的文件操作。客户端中的VFS模块根据内核模块的校验结果,处理用户的处理所述文件操作请求。由于VFS模块与内核模块的运行级别相同,因此由内核模块根据ACL数据信息对用户权限进行校验时,针对将某一文件操作分为多次进行的情况时,无需进行多次校验,仅需进行一次,从而实现了灵活
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1