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 (如果用的非域管理员账号,可能权限不足)
要注意证书的名字.