diff --git a/ldapserver/ldapserver.sh b/ldapserver/ldapserver.sh new file mode 100644 index 0000000..cc8efa6 --- /dev/null +++ b/ldapserver/ldapserver.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# 参数说明: +# organization: 组织名称(例如:"MyCompany") +# domain: LDAP 基域(例如:"example.com") +# split_domain: 分割后的 DC 格式(例如:"dc=example,dc=com") +# admin_password: 管理员密码 +# backend: 后端数据库类型(建议使用默认值 HDB,或替换为其他如 "MDB") +# instances: 实例名称(通常留空为默认,设置为 "") + +set -e + +echo "设置 Slapd 配置选项..." +echo "slapd shared/organization string {{organization}}" | sudo debconf-set-selections +echo "slapd slapd/domain string {{domain}}" | sudo debconf-set-selections +echo "slapd slapd/password1 password {{admin_password}}" | sudo debconf-set-selections +echo "slapd slapd/password2 password {{admin_password}}" | sudo debconf-set-selections +echo "slapd slapd/backend select {{backend}}" | sudo debconf-set-selections +echo "slapd slapd/instances string {{instances}}" | sudo debconf-set-selections +echo "slapd slapd/no_configuration boolean false" | sudo debconf-set-selections +echo "slapd slapd/allow_localhost boolean true" | sudo debconf-set-selections + +echo "正在安装 LDAP 服务..." +sudo apt-get update && sudo apt-get install -y slapd ldap-utils + +echo "启动并启用服务..." +sudo systemctl enable slapd && sudo systemctl restart slapd + +echo "配置防火墙 (允许 LDAP 端口)..." +sudo ufw allow 389/tcp + +echo "部署完成!" +echo "管理员 DN: cn=admin,{{split_domain}}" +echo "" +echo "测试命令:" +echo "ldapsearch -LL -x -H ldap://localhost -b {{split_domain}} -D 'cn=admin,{{split_domain}}' -W" + +exit 0 +