发明内容
有鉴于此,本发明提供了一种访问控制列表权限设置方法、装置、设备及存储介质,以解决现有技术中手动对ACL权限进行设置较为繁琐的问题。
第一方面,本发明提供了一种访问控制列表权限设置方法,该方法包括:
获取已加载完成的用户信息,并判断能否识别出待设置文件系统的类型;
若能够识别出待设置文件系统的类型,根据类型获取待设置文件系统的文件目录的权限信息;
根据待设置文件系统的文件目录的权限信息,判断已加载完成的用户信息中所表征的用户是否有文件目录的操作权限;
若用户具有文件目录的操作权限,则获取用户的操作命令,并根据用户的操作命令对待设置文件系统的文件目录的访问控制列表权限进行自动设置。
本发明通过在用户信息加载完成后,判断能否识别待设置文件系统的类型,以在能够识别到待设置文件系统的类型时,判断用户是否有文件目录的操作权限,从而能够在识别到待设置文件系统的类型,且用户具有文件目录的操作权限时,自动根据用户的操作命令对访问控制列表权限进行设置,省去了手动配置访问控制列表权限的过程,简化配置过程。
在一种可选的实施方式中,获取已加载完成的用户信息,包括:
加载所有用户信息,并根据用户信息对用户的身份进行验证;
若用户的身份验证未通过,则在所有用户信息中删除对应用户。
本发明对用户的身份进行验证,以删除身份验证未通过的用户,从而在根本上避免身份验证未通过的用户对ACL权限进行设置导致的恶意修改。
在一种可选的实施方式中,根据类型获取待设置文件系统的文件目录的权限信息,包括:
根据类型获取对应的权限控制命令集;
根据权限控制命令集中的命令获取待设置文件系统的文件目录的权限信息。
本发明采用待设置文件系统类型对应的权限控制命令集中的命令,以直接获取到文件目录的权限信息,便于判断各个用户的权限。
在一种可选的实施方式中,判断已加载完成的用户信息中的用户是否有文件目录的操作权限,包括:
通过权限验证命令获取用户信息中用户的权限信息,并对权限信息进行解析,权限验证命令的参数包括文件目录;
若解析结果为用户可以对文件目录进行修改,则确定用户具有文件目录的操作权限;
若解析结果为用户无法对文件目录进行修改,则确定用户不具有文件目录的操作权限。
本发明对用户的权限进行判断,在用户可以对文件目录进行修改的情况下,确定用户具有操作权限,以便于用户的权限进行设置,在用户无法对文件目录进行修改的情况下,确定用户不具有操作权限,以对用户的权限进行限定。
在一种可选的实施方式中,在根据用户的操作命令对待设置文件系统的文件目录的访问控制列表权限进行自动设置之前,该方法还包括:
获取用户对是否同步子目录的权限设置的选择结果,并根据选择结果对子目录的权限进行对应自动设置。
本发明根据用户对是否同步子目录的权限设置的选择结果,自动设置子目录的权限,以根据用户的选择自动同步子目录的权限设置,避免再次对子目录的权限设置导致设置过程繁琐的情况。
在一种可选的实施方式中,在根据用户的操作命令对待设置文件系统的文件目录的访问控制列表权限进行自动设置之前,该方法还包括:
判断用户是否具有临时权限;
若用户具有临时权限,则获取临时权限对应的时间戳;
根据时间戳对用户的临时权限的时间进行自动设置。
本发明在用户具有临时权限的情况下,对临时权限的时间进行自动设置,以避免管理员在临时授权权限忘记修改导致权限被修改的可能性。
在一种可选的实施方式中,在判断能否识别出待设置文件系统的类型之后,该方法还包括:
若无法识别出待设置文件系统的类型,则获取待设置文件系统的配置文件,根据配置文件对待设置文件系统进行加载,并根据配置文件重新识别待设置文件系统的类型。
本发明对无法识别出类型上的待设置文件系统进行配置文件加载,以对加载后的文件系统进行ACL自动设置,以使得兼容多种文件系统,实现不同文件系统的ACL权限自动设置。
第二方面,本发明提供了一种访问控制列表权限设置装置,该装置包括:
第一判断模块,用于获取已加载完成的用户信息,并判断能否识别出待设置文件系统的类型;
获取模块,用于若能够识别出待设置文件系统的类型,根据类型获取待设置文件系统的文件目录的权限信息;
第二判断模块,用于根据待设置文件系统的文件目录的权限信息,判断已加载完成的用户信息中所表征的用户是否有文件目录的操作权限;
权限设置模块,用于若用户具有文件目录的操作权限,则获取用户的操作命令,并根据用户的操作命令对待设置文件系统的文件目录的访问控制列表权限进行自动设置。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的访问控制列表权限设置方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的访问控制列表权限设置方法。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在Linux等操作系统中,对文件系统权限设置通常采用直接运行权限设置命令的方式,该种方式要求操作人员对不同的文件系统有一定的了解,而且不同的文件系统输入的参数和字符命令不同,设置方式也存在差异。
对于不了解文件系统类型的用户来说,在对文件系统的文件和子目录下的内容进行手动添加、删除以及修改权限时,采用命令行的方式设置子文件夹下的递归目录的权限较为麻烦。部分文件系统的ACL权限设置参数众多,导致设置过程中易出错。同时,对于部分需要临时授权的场景,没有失效限定,如果出现管理员进行授权后忘记修改,临时授权将永久生效,可能导致ACL权限被恶意修改。
根据本发明实施例,提供了一种访问控制列表权限设置方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种访问控制列表权限设置方法,应用于多文件系统,该多文件系统可以兼容多种文件系统,实现多种文件系统的访问控制列表权限设置,图1是根据本发明实施例的访问控制列表权限设置方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取已加载完成的用户信息,并判断能否识别出待设置文件系统的类型。
在本发明实施例中,加载目录下的所有用户信息,待用户信息加载完成后,识别待设置文件系统的FLAG标志。具体地,调用待设置文件系统内核的API接口自动识别待设置文件系统的FLAG标志。若返回待设置文件系统的类型为NFS(Network File System,网络文件系统)或AFS(Andrew File System,分布式网络文件系统)或XFS(X File System,高性能网络文件系统)或GPFS(General Parallel File System,共享文件系统)或其他类型,则确定能够识别出待设置文件系统的类型,否则为无法识别出待设置文件系统的类型。
步骤S102,若能够识别出待设置文件系统的类型,根据类型获取待设置文件系统的文件目录的权限信息。
在本发明实施例中,若能够识别出待设置文件系统的类型,则根据待设置文件系统的类型,在该待设置文件系统的官方网站上获取该待设置文件系统的文件目录的权限信息,并以列表形式显示该待设置文件系统的所有文件目录的权限信息。
步骤S103,根据待设置文件系统的文件目录的权限信息,判断已加载完成的用户信息中的用户是否有文件目录的操作权限。
在本发明实施例中,根据待设置文件系统的文件目录的权限信息,通过执行权限判断命令,判断已加载完成的用户信息中的用户是否有修改、删除等操作权限。
步骤S104,若用户具有文件目录的操作权限,则获取用户的操作命令,并根据用户的操作命令对待设置文件系统的文件目录的访问控制列表权限进行自动设置。
在本发明实施例中,在用户具有文件目录的操作权限的情况下,用户可以查看目录下所有子目录的权限信息,用户通过操作命令对待设置文件系统的文件目录的访问控制列表权限进行修改、删除等设置,多文件系统根据用户的操作命令对待设置文件系统的文件目录的访问控制列表权限进行自动设置。
本实施例提供的访问控制列表权限设置方法,通过在用户信息加载完成后,判断能否识别待设置文件系统的类型,以在能够识别到待设置文件系统的类型时,判断用户是否有文件目录的操作权限,从而能够在识别到待设置文件系统的类型,且用户具有文件目录的操作权限时,自动根据用户的操作命令对访问控制列表权限进行设置,省去了手动配置访问控制列表权限的过程,简化配置过程。
具体地,在一实施例中,上述步骤S101中获取已加载完成的用户信息,具体包括如下步骤:
步骤S1011,加载所有用户信息,并根据用户信息对用户的身份进行验证。
步骤S1012,若用户的身份验证未通过,则在所有用户信息中删除对应用户。
在本发明实施例中,加载所有用户的配置列表,验证用户的身份是否存在。具体地,用户的身份可以包括离职和在职。若用户的身份为在职,则保留该用户信息以及该用户的权限。若用户的身份为离职,则提示异常,删除该用户信息以及该用户的权限,以对没有操作权限的用户限制操作。
对用户的身份进行验证,以删除身份验证未通过的用户,从而在根本上避免身份验证未通过的用户对ACL权限进行设置导致的恶意修改。
具体地,在一实施例中,上述步骤S102中根据类型获取待设置文件系统的文件目录的权限信息,具体包括如下步骤:
步骤S1021,根据类型获取对应的权限控制命令集。
步骤S1022,根据权限控制命令集中的命令获取待设置文件系统的文件目录的权限信息。
在本发明实施例中,待识别到待设置文件系统的类型之后,使用该文件系统类型支持的官方命令集,从官方命令集中筛选出与ACL相关的权限控制命令集,即使用该文件系统的ACL相关的权限控制命令集,获取待设置文件系统的所有目录的权限信息,并以列表形式进行显示,便于查看。
采用待设置文件系统类型对应的权限控制命令集中的命令,以直接获取到文件目录的权限信息,便于判断各个用户的权限。
具体地,在一实施例中,上述步骤S103中判断已加载完成的用户信息中的用户是否有文件目录的操作权限,具体包括如下步骤:
步骤S1031,通过权限验证命令获取用户信息中用户的权限信息,并对权限信息进行解析,权限验证命令的参数包括文件目录。
步骤S1032,若解析结果为用户可以对文件目录进行修改,则确定用户具有文件目录的操作权限。
步骤S1033,若解析结果为用户无法对文件目录进行修改,则确定用户不具有文件目录的操作权限。
在本发明实施例中,通过执行带有文件目录参数的权限验证命令,获取用户的权限信息,并解析用户的权限信息,以判断出用户是否具有文件目录的操作权限。
若解析结果为用户可以对文件目录进行修改,则用户可以对已经存在的权限进行修改、删除等设置,还可以增加新的组或用户的ACL权限。若解析结果为用户无法对文件目录进行修改,则用户不具有文件目录的操作权限,用户将无法修改文件目录的权限,同时所有的操作提示也无需发送至用户。
对用户的权限进行判断,在用户可以对文件目录进行修改的情况下,确定用户具有操作权限,以便于用户的权限进行设置,在用户无法对文件目录进行修改的情况下,确定用户不具有操作权限,以对用户的权限进行限定。
在一实施例中,本发明实施例提供的访问控制列表权限设置方法还包括如下步骤:
步骤Sa,获取用户对是否同步子目录的权限设置的选择结果,并根据选择结果对子目录的权限进行对应自动设置。
在本发明实施例中,在根据用户的操作命令对待设置文件系统的文件目录的ACL权限进行自动设置之前,在UI交互界面向用户提供选择对话,确认用户是否同步子目录的权限设置,用户在选择对话中选择是否同步子目录的权限设置。
若用户的选择结果为同步子目录的权限设置,则根据用户的操作命令对待设置文件系统的文件目录的ACL权限进行自动设置时,同步对子目录的权限进行自动设置。若用户的选择结果为不同步子目录的权限设置,设置子目录的权限无需同步对子目录的权限设置。
除此之外,在获取用户对是否同步子目录的权限设置的选择结果时,还可以获取用户对指定特殊目录享有不同的权限设置结果,以根据用户的权限设置结果,对用户的指定特殊目录进行不同的权限设置。
在用户具有临时权限的情况下,对临时权限的时间进行自动设置,以避免管理员在临时授权权限忘记修改导致权限被修改的可能性。
在一实施例中,本发明实施例提供的访问控制列表权限设置方法还包括如下步骤:
步骤Sb,判断用户是否具有临时权限。
步骤Sc,若用户具有临时权限,则获取临时权限对应的时间戳。
步骤Sd,根据时间戳对用户的临时权限的时间进行自动设置。
在本发明实施例中,在根据用户的操作命令对待设置文件系统的文件目录的ACL权限进行自动设置之前,判断用户是否具有ACL设置的临时权限,若用户具有临时权限,则获取临时权限对应的时间戳,在该用户的权限属性中加入时间戳,以实现临时功能。
根据时间戳对用户的临时权限的时间进行自动设置,即在临时权限的时间戳之前,用户可以进行ACL权限设置,到达临时权限时间戳后,用户的ACL设置权限自动消失,即无法对ACL权限进行设置。
在用户具有临时权限的情况下,对临时权限的时间进行自动设置,以避免管理员在临时授权权限忘记修改导致权限被修改的可能性。
具体地,在一实施例中,本发明实施例提供的访问控制列表权限设置方法还包括如下步骤:
步骤S102a,若无法识别出待设置文件系统的类型,则获取待设置文件系统的配置文件,根据配置文件对待设置文件系统进行加载,并根据配置文件重新识别待设置文件系统的类型。
在本发明实施例中,若无法识别待设置文件系统的类型,即该文件系统属于比较不常见的文件系统,需要手动配置。获取待设置文件系统的配置文件,进行手动加载,重新识别待设置文件系统的类型,对待设置文件系统进行加载,再继续对待设置文件系统的ACL权限进行设置,根据类型获取待设置文件系统的文件目录的权限信息,根据待设置文件系统的文件目录的权限信息,判断已加载完成的用户信息中的用户是否有文件目录的操作权限。若用户具有文件目录的操作权限,则获取用户的操作命令,并根据用户的操作命令对待设置文件系统的文件目录的ACL权限进行自动设置。ACL权限设置过程同上述步骤S102~步骤S104中自动设置访问控制列表权限的过程相同,此处不再赘述。
对无法识别出类型上的待设置文件系统进行配置文件加载,以对加载后的文件系统进行ACL自动设置,以使得兼容NFS、AFS、KFS、HDFS、GPFS、NFS4等多种文件系统,实现不同文件系统的ACL权限自动设置。
如图2所示,对于NFS、AFS等可以直接识别类型的文件系统,采用识别文件系统、选择文件目录、判断用户有无操作权限的方式对ACL权限进行设置,对于未识别到的文件系统,采用加载配置文件、获取对应的信息和权限配置方法、再进行选择文件目录、判断用户有无操作权限的方式对ACL权限进行设置。若用户没有操作权限,即只可查看权限设置,则直接结束。
在本实施例中还提供了一种访问控制列表权限设置装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种访问控制列表权限设置装置,如图3所示,包括:
第一判断模块301,用于获取已加载完成的用户信息,并判断能否识别出待设置文件系统的类型。
第一获取模块302,用于若能够识别出待设置文件系统的类型,根据类型获取待设置文件系统的文件目录的权限信息。
第二判断模块303,用于根据待设置文件系统的文件目录的权限信息,判断已加载完成的用户信息中所表征的用户是否有文件目录的操作权限。
第一设置模块304,用于若用户具有文件目录的操作权限,则获取用户的操作命令,并根据用户的操作命令对待设置文件系统的文件目录的访问控制列表权限进行自动设置。
在一些可选的实施方式中,第一判断模块301包括:
验证单元,用于加载所有用户信息,并根据用户信息对用户的身份进行验证。
删除单元,用于若用户的身份验证未通过,则在所有用户信息中删除对应用户。
在一些可选的实施方式中,第一获取模块302包括:
第一获取单元,用于根据类型获取对应的权限控制命令集。
第二获取单元,用于根据权限控制命令集中的命令获取待设置文件系统的文件目录的权限信息。
在一些可选的实施方式中,第二判断模块303包括:
解析单元,用于通过权限验证命令获取用户信息中用户的权限信息,并对权限信息进行解析,权限验证命令的参数包括文件目录。
第一确定单元,用于若解析结果为用户可以对文件目录进行修改,则确定用户具有文件目录的操作权限。
第二确定单元,用于若解析结果为用户无法对文件目录进行修改,则确定用户不具有文件目录的操作权限。
在一些可选的实施方式中,该装置还包括:
第二设置模块,用于获取用户对是否同步子目录的权限设置的选择结果,并根据选择结果对子目录的权限进行对应自动设置。
在一些可选的实施方式中,该装置还包括:
第三判断模块,用于判断用户是否具有临时权限。
第二获取模块,用于若用户具有临时权限,则获取临时权限对应的时间戳。
自动设置模块,用于根据时间戳对用户的临时权限的时间进行自动设置。
在一些可选的实施方式中,该装置还包括:
识别模块,用于若无法识别出待设置文件系统的类型,则获取待设置文件系统的配置文件,根据配置文件对待设置文件系统进行加载,并根据配置文件重新识别待设置文件系统的类型。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的访问控制列表权限设置装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图3所示的访问控制列表权限设置装置。
请参阅图4,图4是本发明可选实施例提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏等。输出装置40可以包括显示设备等。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。