389-ds 是用来同步AD密码到ldap的软件

这里有详细安装过程

参考

我用上面那个网站的方法安装里,如果直接运行 setupssl.sh 后面就没法登录了,

后来是按照下面回复的一个网友的方法折腾好的.

#!/bin/bash
 
FQDN=ldap.test.net
LadpName=${FQDN%%.*}
SlapdDir=/etc/dirsrv/slapd-$LadpName
Pass="password"
 
echo -n "Creating password and noise file" 
cd $SlapdDir
echo $Pass > pwdfile.txt 
echo "1qaz@WSX" > noise.txt 
echo -n "Creating Databases" 
certutil -N -d . -f pwdfile.txt 
echo -n "Generating encryption key" 
certutil -G -d . -z noise.txt -f pwdfile.txt 
echo -n "Generating self-signed certificate" 
certutil -S -n "CA $LadpName" -s "cn=CAcert" -x -t "CT,," -m 1000 -v 120 -d . -z noise.txt -f pwdfile.txt  
echo -n "Generating server certificate.." 
certutil -S -n "$LadpName-Cert" -s "cn=$FQDN" -c "CA $LadpName" -t "u,u,u" -m 1001 -v 120 -d . -z noise.txt -f pwdfile.txt  
mv key3.db slapd-msas-key3.db 
mv cert8.db slapd-msas-cert8.db 
ln -s slapd-msas-key3.db key3.db 
ln -s slapd-msas-cert8.db cert8.db 
echo -n "Setting permissions.." 
echo -n "Exporting certificate.." 
certutil -L -d . -n "CA $LadpName" -r > cacert.der  
echo "Converting certificate.." 
openssl x509 -inform DER -in cacert.der -outform PEM -out cacert.pem 
echo "Copying cacert.pem to /etc/openldap/cacerts.." 
mkdir -p /etc/openldap/cacerts
cp cacert.pem /etc/openldap/cacerts/ 
#export Cert to AD
pk12util -d . -o servercert.p12 -n "$LadpName-Cert"
 
echo "Internal (Software) Token:$Pass" > $SlapdDir/pin.txt
chown dirsrv:dirsrv * 
chmod 0400 pin.txt

上面的 FW 是我的 389 服务器,


在WINDOWS那边安装的同步软件时,

Host Name: 这里是389服务器的名称或IP
Port Number: 如果是2008得用636
User Name:就是"uid=sldap,cn=config"在389创建的用户
#,windows2012和ubuntu 16.04 不行,最后用的"cn=Directory Manager"
Password:这个用户的密码
Cert Token:证书密码
Search Base:dc=... dc=....

然后软件安装好后,还要安装一下证书,

在安装目录下面运行 CMD

# 把/etc/dirsrv/slapd-fw/servercert.p12 复制到 
# C:\Program Files\389 Directory Password Synchronization
certutil.exe -d . -N
pk12util.exe -d . -i servercert.p12
certutil.exe -d . -M -n FW-cert -t "P,P,P"


另外:389-consle创建同步代理时,

连接那一栏里面的 Bind as 这样输入

cn=administrator,cn=users,dc=test,dc=net (如果用的非域管理员账号,可能权限不足)


要注意证书的名字.


附:使用ldapmodify修改相关属性