一种访问控制列表设置方法及系统与流程

文档序号:11292233阅读:448来源:国知局
一种访问控制列表设置方法及系统与流程

本发明涉及文件存储技术,特别涉及一种访问控制列表设置方法及系统。



背景技术:

近年来,访问控制列表acl的权限控制方法被广泛的应用于网络安全防范和保护,例如利用访问控制列表来控制服务器上存储文件访问权限,以达到保护服务器中网络资源的安全。

在利用访问控制列表方法设置文件的权限时,不单只是设置文件的拥有者权限、组权限以及其他权限,还可以相对于不同的用户授予文件不同的访问权限,例如同一个文件通过访问控制列表方法可以授予a用户读权限,b用户写权限。

通过上述对访问控制列表方法的介绍可知,该方法是可以对每一个文件建立一个访问权限表,以记录不同用户可以访问文件的权限,因此,在对一个包含有大量子目录以及文件的一个大目录进行访问控制列表设置时,需要利用递归的方式对大目录中的子目录以及文件逐一进行访问控制列表设置,这种设置方式将要花费大量的时间。



技术实现要素:

有鉴于此,本发明的目的在于提供一种访问控制列表设置方法及系统,以提高设置访问控制列表的速度。其具体方案如下:

一种访问控制列表设置方法,包括:

查找当前父目录下的所有节点的时间戳以及访问控制列表版本号,其中,父目录下的节点包括相应的子目录和文件;

通过比较,筛选出标记有最新时间戳以及最新访问控制列表版本号的节点,得到筛选后节点;

将所述筛选后节点的访问控制列表设置到当前父目录上,然后对父目录上的时间戳和访问控制列表版本号进行相应的更新。

优选地,还包括:

当访问目标节点,则查找所述目标节点上层标记有最新时间戳以及最新访问控制列表版本号的父目录,得到目标父目录;

将所述目标父目录的访问控制列表设置到所述目标节点上。

优选地,所述查找所述目标节点上层标记有最新时间戳以及最新访问控制列表版本号的父目录,得到目标父目录的过程,包括:

获取所述目标节点的全部父目录;

通过比较,筛选出所述全部父目录中具有最新时间戳的父目录集;

通过比较,筛选出所述父目录集中具有最新访问控制列表版本号的目标父目录,得到所述目标父目录。

优选地,还包括:

对所述目标父目录与所述目标节点进行时间戳以及访问列表版本号校验,以判断所述目标节点的时间戳以及访问列表版本号是否比所述目标父目录旧。

优选地,所述对父目录上的时间戳和访问控制列表版本号进行相应的更新的过程,包括:

按照当前完成访问控制列表设置的时间更新父目录的时间戳;

对父目录的访问控制列表版本号进行加1处理。

本申请还公开了一种访问控制列表设置系统,包括:

节点查找模块,用于查找当前父目录下的所有节点的时间戳以及访问控制列表版本号,其中,父目录下的节点包括相应的子目录和文件;

节点筛选模块,用于通过比较,筛选出标记有最新时间戳以及最新访问控制列表版本号的节点,得到筛选后节点;

父目录访问控制列表设置模块,用于将所述筛选后节点的访问控制列表设置到当前父目录上,然后对父目录上的时间戳和访问控制列表版本号进行相应的更新。

优选地,还包括

目标父目录查找模块,用于当访问目标节点,则查找所述目标节点上层标记有最新时间戳以及最新访问控制列表版本号的父目录,得到目标父目录;

目标节点访问控制列表设置模块,用于将所述目标父目录的访问控制列表设置到所述目标节点上。

优选地,所述目标父目录查找模块,包括:

父目录查找单元,用于获取所述目标节点的全部父目录;

最新时间戳筛选单元,用于通过比较,筛选出所述全部父目录中具有最新时间戳的父目录集;

最新访问控制列表版本号筛选单元,用于通过比较,筛选出所述父目录集中具有最新访问控制列表版本号的目标父目录,得到所述目标父目录。

优选地,还包括:

校验模块,用于对所述目标父目录与所述目标节点进行时间戳以及访问列表版本号校验,以判断所述目标节点的时间戳以及访问列表版本号是否比所述目标父目录旧。

优选地,所述父目录访问控制列表设置模块,包括:

时间戳更新单元,用于按照当前完成访问控制列表设置的时间更新父目录的时间戳;

访问控制列表版本号更新单元,用于对父目录的访问控制列表版本号进行加1处理。

本申请中,访问控制列表设置方法包括:查找当前父目录下的所有节点的时间戳以及访问控制列表版本号,其中,父目录下的节点包括相应的子目录和文件;通过比较,筛选出标记有最新时间戳以及最新访问控制列表版本号的节点,得到筛选后节点;将筛选后节点的访问控制列表设置到当前父目录上,然后对父目录上的时间戳和访问控制列表版本号进行相应的更新。可见,本发明在设置父目录的访问控制列表时,在筛选出父目录下拥有最新访问控制列表的子目录或文件,然后将最新的访问控制列表设置到父目录,不再设置子目录或文件的访问控制列表,因此可以有效减少设置父目录访问控制列表的时间,提高设置速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种访问控制列表设置方法流程图;

图2为本发明实施例公开的另一种访问控制列表设置方法流程图;

图3为本发明实施例公开的查找目标父目录的方法流程图;

图4为本发明实施例公开的第三种访问控制列表设置方法流程图;

图5为本发明实施例中更新父目录时间戳和控制列表版本号的方法流程图;

图6为本发明实施例公开的一种访问控制列表设置系统结构示意图;

图7为本发明实施例公开的目标父目录查找模块结构示意图;

图8为本发明实施例公开的父目录访问控制列表设置模块结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种访问控制列表设置方法,参见图1所示,该方法包括:

步骤11:查找当前父目录下的所有节点的时间戳以及访问控制列表版本号,其中,父目录下的节点包括相应的子目录和文件。

本申请实施例中,上述父目录可以是一个包含有大量文件以及多层次子目录的一个大目录,可以支持多种操作系统对其进行访问以及设置,例如linux操作系统以及unix操作系统等。父目录可以存储在服务器中,以便用户可以进行访问以及进行设置。

本实施例中的时间戳特指设置访问控制列表的时间戳,在对父目录中的文件或子目录进行访问控制列表设置操作时,对这个操作进行时间上的标识,表明操作完成的时间,也就是本实施例中的时间戳。时间戳可以直接标记在进行访问控制列表设置后的文件或子目录上,也可以记录在文件或子目录的访问控制列表中,还可以利用时间戳以及相应的进行控制列表设置的节点生成一个时间戳链表,以便后续步骤对时间戳的查找,这里不做限定。时间戳可以为一个详细的时间,以表示访问控制列表设置的时间,例如2017/6/210:58,也可以是一些能够表示时间的字符数据,这里不做具体要求。

本实施例中的访问控制列表版本号,可以从目录或文件创建时就开始记录,可以利用整数表示,每次进行访问控制列表设置或者更新,则版本号加1,例如新创建的文件没有进行访问控制列表设置,则访问控制列表版本号为0,如果对新创建的文件进行访问控制列表设置,则设置后访问控制列表版本号为1。访问控制列表版本号可以直接标记在进行访问控制列表设置后的文件或子目录上,也可以记录在文件或子目录的访问控制列表中,还可以利用访问控制列表版本号以及相应的进行控制列表设置的节点生成一个访问控制列表版本号链表,以便后续步骤对访问控制列表版本号的查找,这里不做限定。

步骤12:通过比较,筛选出标记有最新时间戳以及最新访问控制列表版本号的节点,得到筛选后节点。

本实施例中,筛选节点的过程可以利用算法来实现,例如,在获取父目录下所有节点的时间戳后,逐个进行算法比较,将具有较新的时间戳的节点保留并与下一个节点比较,最终得到所有节点中具有最新时间戳的节点。最新时间戳指的是最近设置访问控制列表的时间,与当前时间最接近的一个时间戳。

同样的,在获取父目录下所有节点的访问控制列表版本号后,也可以逐个进行算法比较,将具有较新的访问控制列表版本号的节点保留并与下一个节点比较,最终得到所有节点中具有最新访问控制列表版本号的节点,联合上述具有最新时间戳的节点,就能够找到具有最新时间戳以及最新访问控制列表版本号的节点。

步骤13:将筛选后节点的访问控制列表设置到当前父目录上,然后对父目录上的时间戳和访问控制列表版本号进行相应的更新。

本实施例中的访问控制列表,指的是对文件或目录访问权限的集合,也就是说在访问控制列表中规定了文件或目录的访问权限,例如规定文件或目录可以读取以及可以进行写操作。区别于一般的访问权限设置,访问控制列表还可以规定能够获取权限的用户,也就是可以相对于不同的用户授予文件不同的访问权限,例如同一个文件通过访问控制列表方法可以授予a用户读权限,b用户写权限。访问控制列表适用多种操作系统,例如linux操作系统以及unix操作系统等。

将筛选后节点的访问控制列表设置到当前父目录的过程可以是一个复制列表的过程,将筛选后节点的访问控制列表进行复制,然后设置到父目录上。当然也可以直接将筛选后节点的访问控制列表直接转移到父目录上,这里不做限定。

另外,本发明中公开的上述访问控制列表设置方法可以应用在搭载有icfs文件系统的浪潮as13000存储系统中,以便用户可以通过本发明方案使用icfs文件系统快速设置浪潮as13000存储系统中目录以及文件的访问控制列表。

本发明实施例公开了另一种访问控制列表设置方法,参见图2所示,相对于上一实施例,本实施例对技术方案作了进一步的增加。具体的:

在上述实施例步骤13后,进一步包括:

步骤14:当访问目标节点,则查找目标节点上层标记有最新时间戳以及最新访问控制列表版本号的父目录,得到目标父目录。

步骤15:将目标父目录的访问控制列表设置到目标节点上。

本实施例中,用户在访问父目录下的文件或子目录时,也就是访问目标接节点时,要先获取目标节点的访问控制列表,从访问控制列表得到目标节点的访问权限才能够顺利访问目标节点。而目标节点的最新的访问控制列表是在目标节点的父目录中的,因此需要找出均有最新访问控制列表的父目录。

查找具有最新访问控制列表的目标父目录可以通过算法来实现,将目标节点上层所有父目录的时间戳以及访问控制列表版本号,逐个进行算法比较,将具有较新的时间戳以及较新访问控制列表版本号的父目录保留并与下一个父目录比较,最终得到所有父目录中具有最新时间戳以及最新访问控制列表版本号的目标父目录。

将目标父目录的访问控制列表设置到目标节点的过程可以是一个复制列表的过程,将筛选后节点的访问控制列表进行复制,然后设置到目标节点上。

另外,参见图3所示,本实施例步骤14可以包括以下步骤:

步骤31:获取目标节点的全部父目录。

步骤32:通过比较,筛选出全部父目录中具有最新时间戳的父目录集。

本实施例中,筛选出全部父目录中具有最新时间戳的父目录集的过程可以利用算法来实现,例如,在获取全部父目录的时间戳后,逐个进行算法比较,将具有较新的时间戳的父目录保留并与下一个父目录比较,最终得到全部父目录中具有最新时间戳的父目录集。得到的父目录集中可以存在多个父目录,最新时间戳指的是父目录最近设置访问控制列表的时间,与当前时间最接近的一个时间戳。

步骤33:通过比较,筛选出父目录集中具有最新访问控制列表版本号的目标父目录,得到目标父目录。

本实施例中,筛选出父目录集中具有最新访问控制列表版本号的目标父目录的过程也可以利用算法来实现,例如,在获取父目录集中所有父目录的访问控制列表版本号后,逐个进行算法比较,将具有较新的访问控制列表版本号的父目录保留并与下一个父目录比较,最终可以得到父目录集中具有最新访问控制列表版本号的唯一一个父目录,为目标父目录。

另外,参见图4所示,本实施例步骤14后还可以包括:

步骤16:对目标父目录与目标节点进行时间戳以及访问列表版本号校验,以判断目标节点的时间戳以及访问列表版本号是否比目标父目录旧。

在进行上述步骤后得到的目标父目录是目标节点的所有父目录中访问控制列表最新的父目录,因此不排除会有目标父目录的访问控制列表没有比目标节点的访问控制列表新的情况,所以在这里可以对目标父目录与目标节点进行时间戳以及访问列表控制版本号的校验,可以在确定目标父目录的访问控制列表比目标节点的访问控制列表新的情况下,再进行目标节点访问控制列表的设置。

本发明实施例公开了一种具体的访问控制列表设置方法,相对于上述两个实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

对前述两个实施例中对父目录上的时间戳和访问控制列表版本号进行相应的更新的过程进行说明。

参见图5所示,为本发明实施例中更新父目录时间戳和控制列表版本号的方法,包括:

步骤51:按照当前完成访问控制列表设置的时间更新父目录的时间戳。

在完成父目录访问控制列表的设置后,对父目录的时间戳进行更新是为了给下次访问控制列表设置做准备,同时也为了给用户访问目标节点时提供准确的父目录时间戳,以便进行筛选。当获取设置访问控制列表的时间戳后,直接将最新的时间戳覆盖原来的时间戳。

步骤52:对父目录的访问控制列表版本号进行加1处理。

同样的,对父目录的控制列表版本号更新是为了给下次访问控制列表设置做准备,同时也为了给用户访问目标节点时提供准确的父目录控制列表版本号,以便进行筛选。本实施例中的访问控制列表版本号,可以从目录或文件创建时就开始记录,可以从0开始利用整数表示,每次进行访问控制列表设置或者更新,则版本号加1,例如一个文件的访问控制列表版本号为3,则这个文件一共进行了3次访问控制列表的设置。

本发明实施例还公开了一种访问控制列表设置系统,参见图6所示,该系统包括:

节点查找模块61:用于查找当前父目录下的所有节点的时间戳以及访问控制列表版本号,其中,父目录下的节点包括相应的子目录和文件。

节点筛选模块62:用于通过比较,筛选出标记有最新时间戳以及最新访问控制列表版本号的节点,得到筛选后节点。

父目录访问控制列表设置模块63:用于将筛选后节点的访问控制列表设置到当前父目录上,然后对父目录上的时间戳和访问控制列表版本号进行相应的更新。

目标父目录查找模块64:用于当访问目标节点,则查找目标节点上层标记有最新时间戳以及最新访问控制列表版本号的父目录,得到目标父目录。

校验模块65,用于对目标父目录与目标节点进行时间戳以及访问列表版本号校验,以判断目标节点的时间戳以及访问列表版本号是否比目标父目录旧。

目标节点访问控制列表设置模块66:用于将目标父目录的访问控制列表设置到目标节点上。

其中,目标父目录查找模块64,参见图7所示,包括:

父目录查找单元,用于获取目标节点的全部父目录;

最新时间戳筛选单元71:用于通过比较,筛选出全部父目录中具有最新时间戳的父目录集;

最新访问控制列表版本号筛选单元72:用于通过比较,筛选出父目录集中具有最新访问控制列表版本号的目标父目录,得到所述目标父目录。

其中,父目录访问控制列表设置模块63,参见图8,包括:

时间戳更新单元81,用于按照当前完成访问控制列表设置的时间更新父目录的时间戳;

访问控制列表版本号更新单元82,用于对父目录的访问控制列表版本号进行加1处理。

需要指出的是,本发明中公开的上述访问控制列表设置系统可以应用在搭载有icfs文件系统的浪潮as13000存储系统中,以便用户可以通过本发明方案使用icfs文件系统快速设置浪潮as13000存储系统中目录以及文件的访问控制列表。

关于上述各个模块和各个单元更加详细的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种访问控制列表设置方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1