我正在尝试将多个 Linux 设备加入到具有域登录和 Samba 文件共享功能的 Windows Active Directory 域。我试图避免在此处手动将 POSIX 属性添加到 AD 用户和组。虽然看起来很简单,可以使用 samba 的 autorid 后端执行,但基于 Redhat 的文档文件和打印服务器 - autorid 的缺点
与其他 Linux 设备相比,Autorid 会创建不一致的 uid 和 gid 属性。由于我希望域用户和组拥有的目录和文件的权限在所有成员之间保持一致,(从客户端到服务器,从客户端到客户端)不一致的生成属性对于我的环境是不可接受的。
表面上看,sssd 自动 id 映射(sssd.conf 中的 ldap_id_mapping = true)使用了一种算法,可以自动为跨多个 Linux 主机的域用户生成一致的 uid 和 gid 属性。我会使用它作为 samba 的后端——但是正如 Redhat 在他们的文档中所说,他们不建议这样做,因为 sssd 无法执行 NetBIOS 查找或 NTLM。 将 SMB 共享与 SSSD 和 Winbind 一起使用
因此,为了寻求一个理想的配置,允许跨多个 linux 域成员一致地自动生成 uid 和 gid 属性,但仍允许完整的域 samba 功能,有哪些选择?
如果您有多个域,请使用“自动摆脱”后端,如果您只有一个域,则使用“摆脱”后端。如果您在每个 Unix 域成员上使用相同的“[global]”行,您将在每个域上获得相同的 ID。对 'rid' 后端使用类似这样的 'idmap config' 行:
其中“SAMDOM”是您的工作组名称。
这样,我可以保证(例如)域用户组将始终在所有计算机上获得组 ID '10513'。
如果您将 'winbind use default domain = yes' 添加到 '[global]',您的用户将能够使用 'username' 而不是 'SAMDOM\username' 登录(注意:您不能将其与 'autorid' 后端一起使用)