我正在尝试在我的 LDAP 服务器上配置 TLS。我有两台计算机,一台装有 LDAP 服务器,另一台装有包含 Let's Encrypt 生成的证书的 NFS 共享。
我希望第一个能够读取 NFS 挂载中的证书。我按照 Debian wiki 上的教程进行操作:这里
当我这样做时,sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ldap/olcTLS.ldif
我得到:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)
显然这是一个权限问题这里
以下是配置文件的内容:
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /mnt/certs/chain.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /mnt/certs/privkey.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /mnt/certs/cert.pem
因此,我将 NFS 共享目录的组设置为ssl-cert
并为其添加了读取权限。(所有子目录对每个人都具有完全读取权限)。然后在 LDAP 服务器上,我将用户添加openldap
到该ssl-cert
组。(两个系统上的 gidssl-cert
相同)。
我运行了一下sudo -u openldap -g ssl-cert ls -l /mnt/certs
,它成功了。openldap
用户可以读取 NFS 挂载中的文件。所以也许这毕竟不是权限问题……您觉得呢?
昨天它不会起作用,因为路径中有错误,而且 Let's encrypt 使用符号链接,所以其他系统无法访问文件...我纠正了它,但它也不起作用,所以我尝试通过直接在 LDAP 服务器上复制证书(在 /tmp 中)来减少错误幅度,但它仍然不起作用。我得到了同样的错误。