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

文档序号:9432620阅读:来源:国知局
发送的文件操作请求,并向用户发送操作失败的消息。进一步的,此操作失败消息中包含有失败原因的消息。例如,用户需要对待操作文件进行写操作,在校验结果显示用户不具有对待操作文件进行写操作的权限时,VFS模块可以不处理用户发送的对待操作文件进行写操作的请求,并向用户返回操作失败的消息。进一步的,此操作失败的消息中携带有不具有待操作文件的写操作的权限的失败原因的消息。
[0047]示例性的,用户需要将数据A写入待操作文件I中,此时用户向客户端发送对待操作文件I的写操作请求。且,写操作请求中包含有需进行写入的数据A。客户端的VFS模块可以接收到用户对待操作文件I的写操作请求。VFS模块需确认内核模块是否能获取ACL数据信息。在确定内核模块可以获取ACL数据信息时,可以向内核模块发送触发消息,以触发内核模块获取待操作文件I的ACL数据信息。此触发消息中携带有待操作文件I的文件标识,用户的标识信息及用户需对待操作文件I进行写操作的信息。内核模块在接收到触发消息后,可以通过用户态模块获取待操作文件I的ACL数据信息。在通过用户态模块获取了待操作文件I的ACL数据信息后,可以解析待操作文件I的ACL数据信息,获取ACL数据信息中记录的待操作文件I的不同类型的用户对应的操作权限。内核模块根据触发消息中携带的用户的标识信息及用户需进行的写操作的信息,对此用户进行权限校验,以确定此用户是否具有对待操作文件I的写操作。在确定此用户具有对待操作文件I具有写操作时,将显示用户具有对待操作文件进行文件操作的权限的校验结果发送至VFS模块,此时VFS可以根据校验结果对用户需写入的数据A进行写操作。在对数据A进行写操作时,由于一次写入的数据大小有限制,此时需将数据A分为3个数据段。由于VFS模块与内核模块属于同一运行级别,此时,在内核模块对用户权限验证完成后,VFS模块直接将3个数据段分别写入待操作文件I中。无需每进行一次数据段的写入时,进行用户权限的验证,这样可以灵活有效的进行用户权限的管理,操作简单,降低了客户端的资源浪费。
[0048]本发明实施例提供了一种权限管理的方法,所述方法应用于客户端,所述客户端包括内核模块、虚拟文件系统VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。这样,用户在访问分布式文件系统时,客户端中的内核模块需要先对用户的权限进行校验,确定此用户是否有权限对待操作文件进行相应的文件操作。客户端中的VFS模块根据内核模块的校验结果,处理用户的处理所述文件操作请求。由于VFS模块与内核模块的运行级别相同,因此由内核模块根据ACL数据信息对用户权限进行校验时,针对将某一文件操作分为多次进行的情况时,无需进行多次校验,仅需进行一次,从而实现了灵活有效的管理用户权限,保证了文件系统的安全性,并降低了客户端的资源浪费。
[0049]本发明实施例提供了一种权限管理的方法,应用于客户端,所述客户端包括内核模块、虚拟文件系统VFS模块,所述方法,如图2所示,包括:
[0050]步骤201、内核模块向VFS模块发送,其设置有获取ACL数据信息的功能的相关信息。
[0051 ] 具体的,在本发明实施例中,由内核模块在获取了 ACL数据信息后,根据此ACL数据信息对用户的权限进行校验,因此,在内核模块中需要预先设置获取ACL数据信息的功能。由于VFS模块在接收到用户发送的文件操作请求后,需要确定内核模块中是否具有获取ACL数据信息的功能,因此,内核模块在设置完获取ACL数据信息的功能后,可以向VFS模块发送其设置有获取ACL数据信息的功能的相关信息。这样,VFS模块在确定内核模块中是否具有获取ACL数据信息的功能时,可以检测是否接收到内核模块发送的,用于指示其设置有获取ACL数据信息的功能的相关信息。若没有检测到此相关信息,则说明内核模块中不具有获取ACL数据信息的功能。若可以检测到此相关信息,则说明内核模块中具有获取ACL数据信息的功能。
[0052]进一步的,可以在内核模块中设置ACL功能函数,这样可以在需要获取ACL数据信息时,调用此ACL功能函数。此时,由于VFS模块中设置ACL钩子函数,因此,内核模块可以再设置完ACL功能函数后,将此ACL功能函数注册到VFS模块中设置ACL钩子函数中。此时,VFS模块确定内核模块中是否具有获取ACL数据信息的功能的实现方法可以是:VFS模块通过ACL钩子函数确定内核模块中是否具有ACL功能函数。
[0053]在本步骤中的ACL功能函数用于获取ACL数据信息。
[0054]步骤202、VFS模块获取用户对待操作文件的文件操作请求。
[0055]具体的,可参考步骤101,在此不再赘述。
[0056]步骤203、VFS模块确定内核模块是否能获取ACL数据信息。
[0057]其中,ACL数据信息中记录有待操作文件的操作权限的相关信息。
[0058]具体的,可参考步骤102及步骤201,在此不再赘述。
[0059]步骤204、在确定内核模块能获取ACL数据信息时,VFS模块触发内核模块获取待操作文件的ACL数据信息。
[0060]具体的,可参考步骤103,在此不再赘述。
[0061]步骤205、内核模块获取待操作文件的ACL数据信息,对用户的权限进行校验,并将检验结果发送至VFS模块。
[0062]具体的,可参考步骤104,在此不再赘述。
[0063]步骤206、VFS模块根据检验结果,处理文件操作请求。
[0064]具体的,可参考步骤105,在此不再赘述。
[0065]本发明实施例提供了一种权限管理的方法,所述方法应用于客户端,所述客户端包括内核模块、虚拟文件系统VFS模块,所述方法包括:VFS模块获取用户对待操作文件的文件操作请求;VFS模块确定所述内核模块是否能获取ACL数据信息;所述ACL数据信息中记录有所述待操作文件的操作权限的相关信息;在确定所述内核模块能获取ACL数据信息时,触发内核模块获取所述带操作文件的ACL数据信息;内核模块获取所述待操作文件的ACL数据信息,对所述用户的权限进行校验,并将检验结果发送至VFS模块;VFS模块根据所述检验结果,处理所述文件操作请求。这样,用户在访问分布式文件系统时,客户端中的内核模块需要先对用户的权限进行校验,确定此用户是否有权限对待操作文件进行相应的文件操作。客户端中的VFS模块根据内核模块的校验结果,处理用户的处理所述文件操作请求。由于VFS模块与内核模块的运行级别相同,因此由内核模块根据ACL数据信息对用户权限进行校验时,针对将某一文件操作分为多次进行的情况时,无需进行多次校验,仅需进行一次,从而实现了灵活有效的管理用户权限,保证了文件系统的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1