ldapserver 是什么服务,LDAP 服务器作用与部署简介

LDAP这个名词经常和统一认证、单点登录放在一起讨论,但它本身并不是登录界面。全称Lightweight Directory Access Protocol,中文译作轻量级目录访问协议。它不负责存储数据,只是定义访问目录服务的通信规则。目录服务可以想象成一棵倒置的树,顶部是根节点,向下分出组织单元,再往下就是一条条记录。每条记录附带多个属性,比如一个用户条目下面同时存放cn、mail、uid、userPassword等信息。这种数据结构,天然适配读取频繁、修改较少的场景,查询速度快,写入操作相对慢一些。

ldapserver 是什么服务,LDAP 服务器作用与部署简介

LDAP服务器就是运行这套目录服务的软件。开源领域OpenLDAP最为人熟知,大家经常直接把它等同于LDAP服务器,项目历史久,配套文档丰富,但坑点也不少。389 Directory Server是另一个选择,源自红帽体系,图形化管理工具体验更好。ApacheDS采用Java开发,嵌入Java项目比较方便。Windows系统里的Active Directory也对外提供LDAP接口,但AD不只是LDAP,它整合了Kerberos、DNS、组策略整套能力。所以挑选LDAP服务端软件,要看你需要管理的资源范围。

它最核心的实用价值,集中在账号统一管理。很多公司内部有多套业务系统,邮件、VPN、GitLab、Jenkins、NAS,每一套系统都独立维护账号。员工离职,管理员要逐个删除账号;密码修改,也要在所有系统同步更新。部署LDAP之后,账号只在LDAP一处维护,所有业务系统接入LDAP校验账号。用户登录时,应用把账号密码提交给LDAP服务器,校验通过之后返回用户信息以及所属用户组。新增人员、删除账号、修改密码,只操作这一处即可,节省大量重复工作。中小型企业很常用,成本低,效果直观。

部署OpenLDAP难度中等。Ubuntu系统执行apt install slapd ldap-utils就能完成安装,安装过程会要求设置管理员密码和基础DN。基础DN一般把域名倒写,example.com对应dc=example,dc=com。安装完成实例是空的,需要自行定义schema,新增组织单元和用户。ldapadd、ldapmodify、ldapsearch是基础命令行工具,手写LDIF文件批量操作还行,日常维护比较繁琐,很多人搭配phpLDAPadmin或者Apache Directory Studio图形化工具管理。命令行适合脚本批量处理,图形界面适合日常查询维护。

提前了解几个实际部署容易踩的坑。schema要提前规划,inetOrgPerson是最常用的用户对象类,可以存放cn、sn、givenName、mail、uid、userPassword属性。如果要新增自定义字段,需要编写schema或者引入扩展objectClass。默认权限配置宽松,可能任何人都能读取条目,需要配置ACL限制不同账号能够查看的属性,userPassword字段尤其要做好保护。加密方面,LDAP默认使用389端口明文传输,密码裸传,生产环境必须开启TLS,使用636端口或者StartTLS。备份与复制也不能省略,单点故障会造成全公司无法登录;OpenLDAP支持syncrepl或者多主复制。这些配置单独看不算复杂,任意一项遗漏,后续都会引发故障。

如果规模不大,不想自行维护OpenLDAP,可以看看FreeIPA,它把LDAP、Kerberos、DNS打包部署,更适合纯Linux环境。各大云厂商也提供托管LDAP服务,按量计费,省去运维工作。底层依旧是LDAP,吃透基础概念,切换不同实现方案上手都很快。

免责声明:本文提供的方法与建议仅供技术参考,实际部署效果受机房环境、运营商线路、系统配置等多重因素影响。请在专业人员指导下操作,因自行操作导致的业务损失本站不承担责任。

相关推荐

动态IP服务器是什么 动态IP工作模式详解

动态IP服务器,简单来说就是服务器公网IP不会永久固定。每次联网、重启设备,或是等待一段时间,获取的公网IP就会改变。静态IP与之相反,地址长期不变,适合对外提供稳定服务。动态IP由网络DHCP服