![Openldap+samba pdb_init_ldapsam:警告:无法获取域信息,也无法将域添加到域。没有它,我们无法可靠地工作](https://linux22.com/image/755195/Openldap%2Bsamba%20pdb_init_ldapsam%EF%BC%9A%E8%AD%A6%E5%91%8A%EF%BC%9A%E6%97%A0%E6%B3%95%E8%8E%B7%E5%8F%96%E5%9F%9F%E4%BF%A1%E6%81%AF%EF%BC%8C%E4%B9%9F%E6%97%A0%E6%B3%95%E5%B0%86%E5%9F%9F%E6%B7%BB%E5%8A%A0%E5%88%B0%E5%9F%9F%E3%80%82%E6%B2%A1%E6%9C%89%E5%AE%83%EF%BC%8C%E6%88%91%E4%BB%AC%E6%97%A0%E6%B3%95%E5%8F%AF%E9%9D%A0%E5%9C%B0%E5%B7%A5%E4%BD%9C.png)
将 samba 与 openldap 集成后,我在尝试重新启动 smb.service 时收到以下类型的错误:juil。20 13:28:41 ldapmaster smbd[9761]: [2020/07/20 13:28:41.008764, 0] ../../source3/passdb/pdb_ldap.c:6680(pdb_ldapsam_init_common) juil。20 13:28:41 ldapmaster smbd[9761]: pdb_init_ldapsam: 警告:无法获取域信息,也无法将域信息添加到域。没有它,我们无法可靠地工作。juil。 20 13:28:41 ldapmaster smbd[9761]: [2020/07/20 13:28:41.009325, 0] ../../source3/passdb/pdb_interface.c:180(make_pdb_method_name) juil。20 13:28:41 ldapmaster smbd[9761]: pdb backend ldapsam:ldap://172.16.0.180 未正确初始化(错误为 NT_STATUS_CANT_ACCESS_DOMAIN_INFO) juil。20 13:28:41 ldapmaster slapd[1217]: conn=1084 fd=11 已关闭(连接丢失) juil。 20 13:28:41 ldapmaster systemd[1]: smb.service: 主进程已退出,代码=已退出,状态=1/FAILURE 七月。20 13:28:41 ldapmaster systemd[1]: 无法启动 Samba SMB 守护进程。-- 主题:smb.service 单元已退出
答案1
您的 LDAP 数据库缺少域信息,Samba 无法添加它。这可能与 LDAP 本身缺少 samba.schema 有关。根据 Linux 发行版存储 Samba 架构定义文件的位置,可能使用以下命令修复它:
root@hostnane:~# ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /tmp/samba.ldif
root@hostnane:~# cat > samba_indices.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcDbIndex
olcDbIndex: objectClass eq
olcDbIndex: uidNumber,gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: uid,cn eq,sub
olcDbIndex: memberUid eq,sub
olcDbIndex: member,uniqueMember eq
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub,eq
root@hostnane:~# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f samba_indices.ldif
modifying entry "olcDatabase={1}mdb,cn=config"
然后你可以使用命令检查它是否正常工作
root@hostnane:~# net GETLOCALSID