1.4.5. 使用网格 ID 映射后端
您可以将 Samba 域成员配置为使用 rid ID 映射后端。Samba 可以使用 Windows 安全标识符(SID)的相对标识符(RID)在 Red Hat Enterprise Linux 上生成 ID。
RID 是 SID 的最后部分。例如,如果用户的 SID 是S-1-5-21-5421822485-1151247151-421485315-30014,那么30014是对应的 RID。
ridID映射后端实施了一个只读 API,以便根据 AD 和 NT4 域的算法映射方案计算帐户和组信息。当配置后端时,您必须在 idmap config DOMAIN : range参数中设置最低和最高的 RID。Samba 不会映射比这个参数中设置低或更高的 RID 的用户或组。
作为只读后端,rid无法分配新的ID,例如为BUILTIN组。因此,请勿将此后端用于 * 默认域。
使用网格后端的好处
- 所有在配置范围内具有 RID 的域用户和组都会自动在域成员中可用。
- 您不需要手动分配 ID、主目录和登录 shell。
使用网格后端的缺陷
- 所有域用户可以获得相同的登录 shell 和主目录。但是,您可以使用变量。
-
如果所有用户都使用
rid后端,用户和组群 ID 仅在 Samba 域成员中相同。它们还必须具有相同的 ID 范围设置。 - 您不能阻止单独的用户或组在域成员中可用。只有超出配置范围以外的用户和组才会包括。
- 如果不同域中的对象具有相同的 RID,则在多域环境中可能会出现重复的 ID。这基于 winbindd 用于计算 ID 的公式。
先决条件
- 您已安装了 Samba。
-
Samba 配置(除了 ID 映射)位于
/etc/samba/smb.conf文件中。
流程
编辑
/etc/samba/smb.conf文件中的[global]部分:如果默认域(
*)不存在,请为其添加 ID 映射配置。例如:idmap config * : backend = tdb idmap config * : range = 10000-999999为域启用
ridID映射后端:idmap config DOMAIN : backend = rid设置一个足够大的范围,以包括将来将要分配的所有RID。例如:
idmap config DOMAIN : range = 2000000-2999999Samba 会忽略此域中其RID不在范围内的用户和组。
重要范围不得与这个服务器上的任何其他域配置重叠。此外,范围必须足够大,以便包含将来分配的所有 ID。
设置分配给所有映射用户的 shell 和主目录路径。例如:
template shell = /bin/bash template homedir = /home/%U
验证
/etc/samba/smb.conf文件:# testparm重新载入 Samba 配置:
# smbcontrol all reload-config如需更多信息,请参阅:
-
您系统上
smb.conf (5)手册页中的VARIABLE SUBSTITUTIONS部分 -
RID 中本地 ID 的计算,请查看您系统上的
idmap_rid (8)手册页
-
您系统上