1.4.6. 使用自动 ID 映射后端


您可以将 Samba 域成员配置为使用 autorid ID 映射后端。autorid 后端的工作方式与 rid ID 映射后端类似,但会自动为不同的域分配 ID。

autorid ID 映射后端支持以下部署场景:

  • 仅用于*默认域
  • 对于*默认域和附加域,不需要为每个附加域创建 ID 映射配置
  • 只适用于特定域
注意

如果您对默认域使用autorid,为域添加额外的 ID 映射配置是可选的。

本节的部分内容来自在 Samba Wiki 中发布的 idmap config autorid 文档。许可证: CC BY 4.0。作者和贡献者:请参阅 Wiki页面上的历史选项卡。

使用自动扩展后端的好处

  • 所有计算用户标识符(UID)和组标识符(GID)的域用户和组都位于配置范围内。它们在域成员中自动可用。
  • 您不需要手动分配 ID、主目录和登录 shell。
  • 没有重复的 ID,即使多域环境中的多个对象具有相同的相对标识符(RID)。

缺陷

  • 在 Samba 域成员中用户和组群 ID 不相同。
  • 所有域用户可以获得相同的登录 shell 和主目录。但是,您可以使用变量。
  • 您不能阻止单独的用户或组在域成员中可用。只有计算 UID 或 GID 不在配置范围内的用户和组才会包括。

先决条件

  • 您已安装了 Samba。
  • Samba 配置(除了 ID 映射)位于 /etc/samba/smb.conf 文件中。

流程

  1. 编辑 /etc/samba/smb.conf 文件中的 [global] 部分:

    1. * 默认域启用autoridID映射后端:

      idmap config * : backend = autorid
    2. 设置一个足够大的范围来为所有现有和将来的对象分配 ID。例如:

      idmap config * : range = 10000-999999

      Samba 忽略在此域中计算 ID 不在范围范围内的用户和组。

      警告

      设置范围并开始使用 Samba 后,您只能增加范围的上限。对范围的任何其他变化都可能会导致分配新的 ID,从而会丢失文件的所有者信息。

    3. 可选:设置范围大小。例如:

      idmap config * : rangesize = 200000

      Samba 会为每个域的对象分配这个连续的ID号,直到 idmap config * : range参数中设置的范围内的所有ID分配完。

      注意

      如果设置了 rangesize,则需要相应地调整 range。range 必须是 rangesize 的倍数。

    4. 设置分配给所有映射用户的 shell 和主目录路径。例如:

      template shell = /bin/bash
      template homedir = /home/%U
    5. 可选:为域添加额外的 ID 映射配置。如果没有针对单个域的配置,Samba 则使用之前配置的 * 默认域中的 autorid 后端设置来计算 ID。

      重要

      范围不得与这个服务器上的任何其他域配置重叠。此外,范围必须足够大,以便包含将来分配的所有 ID。详情请查看 规划 Samba ID 范围

  2. 验证/etc/samba/smb.conf文件:

    # testparm
  3. 重新载入 Samba 配置:

    # smbcontrol all reload-config

    如需更多信息,请参阅:

    • 您系统上 idmap_autorid (8) 手册页中的 THE MAPPING FORMULAS 部分
    • 您系统上 idmap_autorid (8) 手册页中的 rangesize 参数描述
    • 您系统上 smb.conf (5) 手册页中的 VARIABLE SUBSTITUTIONS 部分
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部