使用 Samba 作为 AD 域成员,并在 Linux 成员之间自动生成一致的 POSIX 属性

使用 Samba 作为 AD 域成员,并在 Linux 成员之间自动生成一致的 POSIX 属性

我正在尝试将多个 Linux 设备加入到具有域登录和 Samba 文件共享功能的 Windows Active Directory 域。我试图避免在此处手动向 AD 用户和组添加 POSIX 属性。虽然使用 samba 的 autorid 后端执行起来似乎很简单,但根据 Redhat 的文档文件和打印服务器 - autorid 的缺点

与其他 Linux 设备相比,Autorid 会创建不一致的 uid 和 gid 属性。由于我希望域用户和组拥有的目录和文件的权限在所有成员之间保持一致(从客户端到服务器,从客户端到客户端),因此我的环境无法接受不一致的生成属性。

看起来,sssd 自动 id 映射(ldap_id_mapping = true在 sssd.conf 中)使用一种算法,该算法自动为多个 Linux 主机上的域用户生成一致的 uid 和 gid 属性。我会将其用作 samba 的后端 - 但是,正如 Redhat 在其文档中所述,他们不建议这样做,因为 sssd 无法执行 NetBIOS 查找或 NTLM。 将 SMB 共享与 SSSD 和 Winbind 结合使用

因此,为了寻求一种理想的配置,允许在多个 Linux 域成员之间一致地自动生成 uid 和 gid 属性,但仍然允许完整的域 samba 功能,有哪些选项?

答案1

如果您有多个域,请使用“auto-rid”后端;如果您只有一个域,请使用“rid”后端。如果您在每个 Unix 域成员上使用相同的“[global]”行,您将在每个域上获得相同的 ID。对“rid”后端使用类似这样的“idmap config”行:

idmap config * : backend = tdb
idmap config * : range = 3000-7999
idmap config SAMDOM : backend = rid
idmap config SAMDOM : range = 10000-999999

其中“SAMDOM”是您的工作组名称。

这样,我可以保证(例如)域用户组在所有机器上始终获得组 ID“10513”。

如果您将“winbind use default domain = yes”添加到“[global]”,您的用户将能够使用“username”而不是“SAMDOM\username”登录(注意:您不能将其与“autorid”后端一起使用)

相关内容