Samba AD 组在 Unix 上显示为空

Samba AD 组在 Unix 上显示为空

环境:

  • 全新 Debian 10 Samba 4.9.5-Debian 作为 AD-DC,使用内部 LDAP、内部 DNS、启用 RFC2307、启用并配置 libnss-winbind、启用并配置 libpam-winbind
  • 全新 Debian 10 Samba 4.9.5-Debian 作为文件服务器,已加入 AD 域,已启用 RFC2307,已启用并配置 libnss-winbind,已启用并配置 libpam-winbind
  • Windows 7 和 Windows 10 客户端
  • 各种 Linux 服务器将加入 AD 域
  • 在 Windows 7 上安装用于管理的 Microsoft RSAT 工具

AD 用户和 AD 组仅在 Windows 上运行,并且都分配有 NIS 用户/组 ID。

getent passwd在文件服务器上显示所有 AD 用户。getent group在文件服务器上显示所有 AD 组,但在 Linux 上所有 AD 组都显示为空。Windows RSAT 工具按预期显示组成员。

输出是somegroup:x:23456:

预期输出为somegroup:x:23456:joe.user,tim.trouble,n.o.clue

似乎我遗漏了需要配置的一个小细节。

答案1

解决方案是 smb.conf 中缺少一个参数,如下所示使用 winbind 的 Linux 嵌套组

winbind expand groups自 Samba 4.2 起默认为 0,必须非零才能列出用户成员getent group

我已经winbind expand groups = 10在文件服务器上设置了 smb.conf,它适用于我们的小型 Samba-AD。

答案2

看一下winbind 枚举用户+winbind 枚举组。它们默认no在 smb.conf 中。

引用winbind enum users

如果 winbind enum users 参数为 no,则对 getpwent 系统调用的调用将不会返回任何数据。

winbind enum groups

如果 winbind enum groups 参数为 no,则对 getgrent() 系统调用的调用将不会返回任何数据。

也就是说,您不需要启用设置。可以通过wbinfo -u和枚举用户和组wbinfo -g

相关内容