本发明涉及计算机网络技术领域,具体涉及一种分布式存储系统外部ldap域服务器认证接口实现方法。
背景技术
ldap(lightweightdirectoryaccessprotocol)是一种基于tcp/ip的网络协议,在网络资源查找、用户访问控制、认证信息的查询等方面扮演着重要角色。外部ldap域服务器认证适用于linux客户端应用。将系统加入ldap域后,通过设计外部ldap域服务器认证接口,可支持ldap域用户的接入与认证功能。
技术实现要素:
为了克服上述现有技术中的不足,本发明提供一种分布式存储系统外部ldap域服务器认证接口实现方法,以解决上述技术问题。
本发明的技术方案是:
一种分布式存储系统外部ldap域服务器认证接口实现方法,通过设计python脚本实现,实现过程如下:
提取输入的要加入的ldap域的参数;
对提取的参数进行处理后加入外部ldap域服务器。
进一步的,步骤提取输入的要加入的ldap域的参数之前包括:
判断输入命令行格式是否正确,若否,报error1,退出程序;其中error1指错误输入。
进一步的,步骤对提取的参数进行处理后加入外部ldap域服务器中,对提取的参数进行处理包括:
s21:对提取输入的要加入的ldap域的参数名字格式进行检测,若名字格式正确,执行步骤s22;其中,所述参数包括:ip、port和basedn;
ip:主ip地址;
port:端口号;
basedn:ldap域basedn;
s22:查看task任务是否连接有ldap_jpin,若否,执行步骤s23;
s23:检测task任务是否连接到task数据库,若是,执行步骤s24;
s24:插入task表,更新task表进程数为第一阈值;
s25:查找serverip/port/basedn是否正确,若是,执行步骤s26;
s26:更新task表的进程数为第二阈值,检查过滤stderror是否可以正确解析输出,若是执行s27;
s27:更新task表的进程数为第三阈值;
s28:查找switch的ldap密码/组/掩码信息,同时更新task表进程数为第四阈值,检测更新nsswitch文件是否成功,若是执行s29;
s29:更新task表进程数为第五阈值,打印,加入ldap域成功。
进一步的,步骤s21还包括:
若检测参数名字格式不正确,报报error1:错误输入。
进一步的,步骤s22还包括:
查看task任务已经连接有ldap_jpin,报error2:这项任务已经存在。
进一步的,步骤s23还包括:
检测task任务没有连接到task数据库,报error3:连接数据库异常。
进一步的,步骤s25还包括:
查找serverip/port/basedn不正确,报error4:不能找到。
进一步的,步骤s26还包括:
更新task表的进程数为第二阈值,检查过滤stderror不能正确解析输出,报error5:不能加入ldap域。
进一步的,步骤s28还包括:
查找switch的ldap密码/组/掩码信息,同时更新task表进程数为第四阈值,检测更新nsswitch文件不成功,报error6:更新失败。
进一步的,第一阈值为10,第二阈值为30,第三阈值为50,第四阈值为80,第五阈值为100。
通过python脚本实现,该脚本提取输入的要加入的ldap域ip、port和base_dns等参数后对它进行处理,最终成功加入外部ldap域服务器,实现了分布式存储系统外部ldap域服务器的认证。
从以上技术方案可以看出,本发明具有以下优点:通过设计python脚本,该脚本提取输入的要加入的ldap域ip、port和base_dns等参数后对它进行处理,最终成功加入外部ldap域服务器,实现了分布式存储系统外部ldap域服务器的认证,同时也提高了效率和准确率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为分布式存储系统外部ldap域服务器认证接口实现方法流程图;
图2为as13000分布式存储系统外部ldap域服务器连接示意图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
采用ldap服务器认证时,客户需要提供ldap服务器,并且as13000分布式存储系统和客户端已加入到ldap域。as13000分布式存储系统将通过ldap服务器确认用户账号和客户端的信息。认证组网,如图2所示;
通过:icfs-admin-user-ldap-join.py脚本实现,该脚本提取输入的要加入的ldap域ip、port和base_dns等参数后对它进行处理,最终成功加入外部ldap域服务器,实现了分布式存储系统外部ldap域服务器的认证,同时也提高了效率和准确率。
如图1所示,具体实现步骤:
s0:判断输入命令行格式是否正确,若否,报error1,退出程序;其中error1指错误输入。
s1:提取输入的要加入的ldap域的参数;
s2:对提取的参数进行处理后加入外部ldap域服务器。
本实施例中,进一步的步骤s2的实现步骤如下:
s21:对提取输入的要加入的ldap域的参数名字格式进行检测,若名字格式不正确,报error1:错误输入;若名字格式正确,执行步骤s22;其中,所述参数包括:ip、port和basedn;
ip:主ip地址;
port:端口号;
basedn:ldap域basedn;
s22:查看task任务是否连接有ldap_jpin,若是,报error2:这项任务已经存在;若否,执行步骤s23;
s23:检测task任务是否连接到task数据库,若否,报error3:连接数据库异常;若是,执行步骤s24;
s24:插入task表,更新task表进程为10;
s25:查找serverip/port/basedn是否正确,若否,报error4:不能找到;若是,执行步骤s26;
s26:更新task表的进程为30,检查过滤stderror是否可以正确解析输出,若否,报error5:不能加入ldap域;若是,执行s27;
s27:更新task表的进程为50;
s28:查找switch的ldap密码/组/掩码信息,同时更新task表进程为80,检测更新nsswitch文件是否成功,若否,报error6:更新失败;若是执行s29;
s29:更新task表进程为100,打印,加入ldap域成功。
实现方法如下:
将所需执行的脚本icfs-admin-user-ldap-join.py放在每个节点下的/usr/bin目录下,执行时可参考格式如下-icfs-admin-user-ldap-join.py-----ldap-------join-------ip---ip-------port---port_number---------------->
>-------------------------------b--basedn---------------------------------------------------------------------><
参数说明:
--ldap:ldap服务管理命令
--join:加入命令
--ip:主ip地址
--port:端口号
-b:ldap域basedn
参数值说明:
ip:主ip地址
port_number:端口号(默认端口是389)
basedn:ldap域basedn
脚本代码具体实现如下:
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。