linux - 使用 autorid 在多个域的 Linux 客户端之间保持一致的 UID 和 GID

标签 linux active-directory samba

这是我目前的设置: 我有 2 个 Active Directory 服务器 (AD1 = TEST1) (AD2 = TEST2)。AD2 是受信任的域。而 samba 版本是 3.6.9-168.el6_5 。 我已经使用以下 smb.conf 文件成功地将我的 linux 客户端(Red Hat Enterprise Linux Server 版本 6.5)集成到 AD1 服务器。我需要域用户 TEST1 和 TEST2 的一致 UID 和 GID。 wibinfo -u 和 -g 对两个域的以下配置都适用于我。我能够为 TEST1 域获得一致的 UID 和 GID。但是对于 TEST2(可信域),wbinfo -i 显示以下错误

# wbinfo -i TEST2\\user1
failed to call wbcGetpwnam: WBC_ERR_DOMAIN_NOT_FOUND
Could not get info for user user1

我当前的 smb.conf 文件如下

[global]
        workgroup = TEST1
        realm = TEST1.LOCAL
        netbios name = LB001
        security = ads
        winbind offline logon = yes
        allow trusted domains = yes
        winbind enum users = yes
        winbind enum groups = yes
        winbind use default domain = yes
        winbind use default domain = yes
        template home dir = /home/%U

        idmap config * : backend = autorid
        idmap config * : range = 1000000-1999999

        template shell = /bin/bash

需要帮助以使用此 autorid 选项为两个域获取一致的 UID 和 GID。

提前致谢

最佳答案

首先,wbinfo -i 是一个高级工具,用于测试 nsswitch 集成。这里不仅仅是 Id-mapping 可能出错。错误消息 DOMAIN_NOT_FOUND 也具有误导性(wbinfo 代码中的错误)。

id-mapping 的原子测试是这样的:

wbinfo -n TEST2\\user1

给你用户的SID(windows用户ID),然后使用

wbinfo -S SID

用这个 sid 来检查 UID 分配。同样,使用

wbinfo -Y SID

如果您正在测试一个组对象。

也就是说,您不能保证使用 idmap autorid 获得完全相同的配置,因为它按照域访问服务器的顺序将已定义的总体范围的递增子范围关联到域。 因此,如果您想 100% 确定拥有完全相同的 ID,那么您 应该考虑使用 rid 后端使用显式配置, 像这样:

[global]
idmap config * : backend = tdb
idmap config * : range = 1000000-1999999
idmap config TEST1 : backend = rid
idmap config TEST1 : range = 2000000-2999999
idmap config TEST2 : backend = rid
idmap config TEST2 : range = 3000000-3999999

关于linux - 使用 autorid 在多个域的 Linux 客户端之间保持一致的 UID 和 GID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30601942/

相关文章:

linux - 即使与 awk 不匹配也追加该行

c++ - Boost ASIO socket 消耗文件描述符

linux - 为 Linux 中的 CIFS 挂载获取文件创建通知

powershell - 在Windows Server 1803上重新启动后,使用New-SmbGlobalMapping为Docker容器创建的SMB共享映射未还原

vb.net - 如何验证我的应用程序运行所在的事件目录域?

linux - 我可以在 Linux/Centos 中删除用户的主目录吗

linux - 使用 wget 下载给定域下可访问的所有 URL,而不保存实际页面?

您能否编译一个共享对象以优先使用本地符号,即使它是由使用 -rdynamic 编译的程序加载的?

angular - 使用 MSAL 与 Angular 进行重定向_uri_mismatch Azure AD B2C

c# - 通过电子邮件地址在 ActiveDirectory 中查找用户