多通道并发的文件权限管理方法、装置、服务器和介质制造方法及图纸

技术编号:29055270 阅读:20 留言:0更新日期:2021-06-26 06:26
本申请提供了一种多通道并发的文件权限管理方法、装置、服务端和介质,包括:服务端获取目标通道的客户端SMB会话认证请求;所述服务端为每个通道维护一个对应的线程;对所述客户端SMB会话认证请求的SMB用户进行会话校验,当会话校验通过后,依次进行目录树的连接、目录树中的目录的使用权限校验;当所述使用权限校验通过后,接收SMB创建请求,并校验所述SMB创建请求中的所述SMB用户是否具有待处理文件的操作权限。本申请按照各个通道的客户端SMB会话认证请求的SMB用户进行待处理文件权限校验,通过对多个通道的SMB用户各自独立处理,从而有效避免未授权用户去操作文件。而有效避免未授权用户去操作文件。而有效避免未授权用户去操作文件。

【技术实现步骤摘要】
多通道并发的文件权限管理方法、装置、服务器和介质


[0001]本申请涉
,特别涉及一种多通道并发的文件权限管理方法、装置、服务器和介质。

技术介绍

[0002]Samba在Linux和Windows系统之间提供了一种SMB(Server Message Block,不同网络节点间的共享传输协议)共享服务的方式,从而使得Windows下可以直接以网络映射盘方式读写Linux文件。正常情况下,在Windows客户端挂载Linux服务端需要以一个固定的用户身份或者一个匿名身份去映射,映射完成后,Samba内部会记录当前连接信息的用户身份,并在后续的文件创建或打开操作中进行权限校验,权限不满足的情况下,就会返回一个拒绝访问错误码,从而可以达到避免用户访问非授权文件的目的。
[0003]Samba服务端是一个多进程单线程实现,每个客户端单独有一个SMBD(Server Message Block Daemon)进程提供服务。多通道是SMB 2.2协议之后新增的一个优化特性,旨在更加充分利用网卡RSS(Receive Side Scaling)特性提升数据流传输性能。
[0004]然而,Samba对多通道的支持仍然是一个单线程处理,为了提升Samba服务端的网络收发效率,将各个通道的SMB协议处理改为每个通道单独一个线程去处理,在多通道并发处理时,由于用户信息是整个进程的属性,当在一个线程中进行用户切换操作时,另一个线程的用户身份就会受到影响,从而影响文件权限的校验过程,导致非授权用户有权限去修改文件。r/>[0005]因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

技术实现思路

[0006]本申请的目的是提供一种多通道并发的文件权限管理方法、装置、服务器和介质,按照各个通道的客户端SMB会话认证请求的SMB用户进行待处理文件权限校验,通过对多个通道的SMB用户各自独立处理,从而有效避免未授权用户去操作文件。其具体方案如下:
[0007]本申请提供了一种多通道并发的文件权限管理方法,包括:
[0008]服务端获取目标通道的客户端SMB会话认证请求;所述服务端为每个通道维护一个对应的线程;
[0009]对所述客户端SMB会话认证请求的SMB用户进行会话校验,当会话校验通过后,依次进行目录树的连接、目录树中的目录的使用权限校验;
[0010]当所述使用权限校验通过后,接收SMB创建请求,并校验所述SMB创建请求中的所述SMB用户是否具有待处理文件的操作权限。
[0011]优选的,所述校验所述SMB创建请求中的所述SMB用户是否具有待处理文件的操作权限,包括:
[0012]当所述SMB创建请求的权限掩码仅包括通用的文件读写权限,则转换成数据和属
性的读写权限;
[0013]当所述SMB创建请求的权限掩码仅包括请求最大权限值,则获取目录树最大权限值,且将所述请求最大权限值和所述目录树最大权限值的交集作为最终权限掩码;
[0014]将所述最终权限掩码和所述待处理文件的ACL属性信息中预存权限掩码进行匹配;
[0015]当匹配成功时,则确定所述SMB用户具有所述待处理文件的所述操作权限;若匹配失败,则确定所述SMB用户不具有所述操作权限。
[0016]优选的,所述将所述最终权限掩码和所述待处理文件的ACL属性信息中预存权限掩码进行匹配之前,还包括:
[0017]判断所述待处理文件是否存在;
[0018]若存在,则获取所述待处理文件的所述ACL属性信息;
[0019]若不存在,则获取所述待处理文件的父目录ACL属性信息;
[0020]根据所述父目录ACL属性信息判断所述SMB用户是否具有添加文件权限;若具有所述添加文件权限,则创建所述待处理文件。
[0021]优选的,还包括:
[0022]当所述操作权限的校验通过时,根据所述待处理文件的文件转换属性参数执行打开操作,其中,所述打开操作包括正常打开、排他方式打开、覆盖方式打开、创建覆盖方式打开。
[0023]优选的,还包括:
[0024]获取客户端的所述待处理文件的关闭请求,根据所述关闭请求关闭所述待处理文件。
[0025]优选的,所述当会话校验通过后,依次进行目录树的连接、目录的使用权限校验,包括:
[0026]当所述会话校验通过时,发起目录树的连接请求,并校验所述目标树连接请求中的访问权限;
[0027]当所述访问权限校验通过时,完成所述目录树的连接;
[0028]获取目录操作请求,并根据所述目录操作请求的目录树连接对象ID值确定VUID,再根据所述VUID得到UID;
[0029]获取所述目录操作请求对应的文件的ACL属性;
[0030]判断所述UID是否与所述ACL属性中的预存UID匹配;
[0031]若匹配,则确定所述目录的所述使用权限校验通过;若不匹配,则确定所述使用权限校验未通过。
[0032]优选的,还包括:
[0033]获取所述客户端传输的共享控制参数,以互斥方式添加至进程内的文件打开全局信息中。
[0034]本申请提供了一种多通道并发的文件权限管理装置,包括:
[0035]会话认证模块,用于服务端获取目标通道的客户端SMB会话认证请求;所述服务端为每个通道维护一个对应的线程;
[0036]目录树连接权限校验模块,用于对所述客户端SMB会话认证请求的SMB用户进行会
话校验,当会话校验通过后,依次进行目录树的连接、目录树中的目录的使用权限校验;
[0037]文件创建模块,用于当所述使用权限校验通过后,接收SMB创建请求,并校验所述SMB创建请求中的所述SMB用户是否具有待处理文件的操作权限。
[0038]本申请提供了一种服务端,包括:
[0039]存储器,用于存储计算机程序;
[0040]处理器,用于执行所述计算机程序时实现如上所述多通道并发的文件权限管理方法的步骤。
[0041]本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述多通道并发的文件权限管理方法的步骤。
[0042]本申请提供了一种多通道并发的文件权限管理方法,包括:服务端获取目标通道的客户端SMB会话认证请求;服务端为每个通道维护一个对应的线程;对客户端SMB会话认证请求的SMB用户进行会话校验,当会话校验通过后,依次进行目录树的连接、目录树中的目录的使用权限校验;当使用权限校验通过后,接收SMB创建请求,并校验SMB创建请求中的SMB用户是否具有待处理文件的操作权限。
[0043]可见,本申请在多通道并发条件下,采用多个通道用户分离的形式,提高多通道并发的性能,且,按照各个通道的客户端SMB会话认证请求的SMB用户进行待处理文件权限校验,通过对多个通道的SMB用户各自独立处理,保证了Samba在一个本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多通道并发的文件权限管理方法,其特征在于,包括:服务端获取目标通道的客户端SMB会话认证请求;所述服务端为每个通道维护一个对应的线程;对所述客户端SMB会话认证请求的SMB用户进行会话校验,当会话校验通过后,依次进行目录树的连接、目录树中的目录的使用权限校验;当所述使用权限校验通过后,接收SMB创建请求,并校验所述SMB创建请求中的所述SMB用户是否具有待处理文件的操作权限。2.根据权利要求1所述的多通道并发的文件权限管理方法,其特征在于,所述校验所述SMB创建请求中的所述SMB用户是否具有待处理文件的操作权限,包括:当所述SMB创建请求的权限掩码仅包括通用的文件读写权限,则转换成数据和属性的读写权限;当所述SMB创建请求的权限掩码仅包括请求最大权限值,则获取目录树最大权限值,且将所述请求最大权限值和所述目录树最大权限值的交集作为最终权限掩码;将所述最终权限掩码和所述待处理文件的ACL属性信息中预存权限掩码进行匹配;当匹配成功时,则确定所述SMB用户具有所述待处理文件的所述操作权限;若匹配失败,则确定所述SMB用户不具有所述操作权限。3.根据权利要求2所述的多通道并发的文件权限管理方法,其特征在于,所述将所述最终权限掩码和所述待处理文件的ACL属性信息中预存权限掩码进行匹配之前,还包括:判断所述待处理文件是否存在;若存在,则获取所述待处理文件的所述ACL属性信息;若不存在,则获取所述待处理文件的父目录ACL属性信息;根据所述父目录ACL属性信息判断所述SMB用户是否具有添加文件权限;若具有所述添加文件权限,则创建所述待处理文件。4.根据权利要求2所述的多通道并发的文件权限管理方法,其特征在于,还包括:当所述操作权限的校验通过时,根据所述待处理文件的文件转换属性参数执行打开操作,其中,所述打开操作包括正常打开、排他方式打开、覆盖方式打开、创建覆盖方式打开。5.根据权利要求4所述的多通道并发的文件权...

【专利技术属性】
技术研发人员:李世杰
申请(专利权)人:山东英信计算机技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1