发布时间:2025-12-09 12:00:26 浏览次数:2
# 下载wget http://gpl.savoirfairelinux.net/pub/mirrors/openldap/openldap-release/openldap-2.4.46.tgz# 解压gunzip -c openldap-2.4.46.tgz | tar xvfB -# 检测系统环境./configure# 先构建依赖关系make depend# 再编译软件make# 检测构建--这一步等待时间略长make test// 安装软件su root -c 'make install'slappasswd根据提示输入两遍密码,即可获得加密后端密码,如:
{SSHA}LFvNxLuy20L00BudQ8MYgv8ZdxRSXNxd// 进入cd /usr/local/etc/openldap/sudo vi slapd.conf根据需求导入schema,此处需要inetorgperson,故添加如下:
include /usr/local/etc/openldap/schema/cosine.schemainclude /usr/local/etc/openldap/schema/inetorgperson.schema修改suffix、rootdn、rootpw、directory,这些均可改成自己的:
suffix "dc=windcoder,dc=com"# 账号rootdn "cn=admin,dc=windcoder,dc=com"# 密码,即上面生成的rootpw {SSHA}LFvNxLuy20L00BudQ8MYgv8ZdxRSXNxd# 可以看做数据存储位置,自定义即可。directory /usr/local/etc/openldap/datas/openldap-data此处的directory目录,不会自动创建,需手动创建,不然会造成无法启动,暂时不知其他目录下是否会自动创建。
sudo /usr/local/libexec/slapd查看启动状态:
ps -ef |grep slapdsudo vi test1.ldif添加:
dn: dc=windcoder,dc=comobjectClass: topobjectClass: dcObjectobjectClass: organizationdc: windcodero: windcoder-comdn: ou=User,dc=windcoder,dc=comobjectclass: topobjectclass: personobjectclass: organizationalPersonsn:Personcn:Some-Person添加entry时,如果父级目录不存在,也通常会返回“ldap_add: No such object (32)”的错误。故这里在第一次导入时(类似初始化),优先创建根目录。
ldapadd -x -D "cn=admin,dc=windcoder,dc=com" -W -f test1.ldif输入Ldap登录密码(即rootpw被加密之前的原始密码)后出现类似如下提示而不报错即可:
adding new entry "dc=windcoder,dc=com"adding new entry "ou=User,dc=windcoder,dc=com"ldapsearch -x -b 'dc=windcoder,dc=com' '(objectClass=*)'输出:
# extended LDIF## LDAPv3# base <dc=windcoder,dc=com> with scope subtree# filter: (objectClass=*)# requesting: ALL## windcoder.comdn: dc=windcoder,dc=comobjectClass: topobjectClass: dcObjectobjectClass: organizationdc: windcodero: windcoder-com# User, windcoder.comdn: ou=User,dc=windcoder,dc=comobjectClass: topobjectClass: personobjectClass: organizationalPersonsn: Personcn: Some-Personou: Userldap默认389,ldaps默认636 。此处以开放389为例。
/sbin/iptables -I INPUT -p tcp --dport 389 -j ACCEPT // 写入修改 /etc/init.d/iptables save // 保存修改 service iptables restart // 重启防火墙,修改生效sudo firewall-cmd --zone=public --add-port=389/tcp --permanentsudo firewall-cmd --reload