配置 Winbind 以从 Windows 获取用户信息

配置 Winbind 以从 Windows 获取用户信息

我需要在 Ubuntu 10.04.1 客户端上配置 SAMBA 和 Winbind 以从 Windows Active Directory 获取它们的 UID、GID 和主目录。

我已经安装了 Windows Services for Unix,并在其中输入了相关信息(即 UID、GID、shell 等)。

问题是无论我怎么尝试,我都无法让 winbind 正确获取并使用该信息。我知道问题出在我的/etc/samba/smb.conf文件上。不幸的是,我找不到任何有关如何正确设置它的像样的文档。

以下是我的/etc/samba/smb.conf文件:

[global]
    security = ads
    realm = DOMAINSERVER.COM
    password server = <<IP.of.domain.server>>
    workgroup = DOMAINSERVER
    winbind refresh tickets = yes
    idmap backend = ad      ## Important
    winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/%U  ## I tried commenting this out, and it didn't work
    template shell = /bin/bash  ## I tried commenting this out, and it didn't work
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    winbind nss info = sfu     ## Important
    winbind use default domain = yes
    restrict anonymous = 2

真的感谢您的帮助!

编辑:我能想到的唯一导致问题的另一件事是我还没有清除/var/lib/samba/目录中存储的旧 winbind 映射。如果我清除它,能解决问题吗?顺便说一句,我已经开始检查这份文件,但是,它的年代可能是一个问题:http://www.ccs.neu.edu/home/battista/articles/winbindenterprise/winbindenterprise.pdf

答案1

找到此位置列出的配置后:http://www.ccs.neu.edu/home/battista/articles/winbindenterprise/winbindenterprise.pdf,我能够让它正常工作(嗯,大部分情况下)。我需要完成的主要任务是让每个用户获得他们自己唯一的 UID,这个实现就是这么做的。

我无法检索全部来自 SFU 的信息,但我能够让每个用户获得一个在所有机器上一致的唯一 UID。此唯一 UID 基于 Windows SID 值。

如果有人知道真的修复此问题,然后我会将其标记为答案。

就目前而言,以下配置/etc/samba/smb.conf对我有用:

[global]
    realm = DOMAINSERVER.COM
    workgroup = DOMAINSERVER
    security = ads
    password server = ip.of.pass.server

    idmap uid = 10000-20000
    idmap gid = 10000-20000
    idmap backend = rid:DOMAINSERVER.COM=10000-20000  ## IMPORTANT ##
    allow trusted domains = no                        ## IMPORTANT ##
    template homedir = /home/%U
    template shell = /bin/bash

    winbind use default domain = yes
    winbind enum users = yes
    winbind enum groups = yes
    winbind refresh tickets = yes        ## For Kerberos ##
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    restrict anonymous = 2

更新文件后,我停止了smbdwinbind服务。然后我导航到/var/lib/samba目录并删除了所有文件。

完成后,我重新启动了机器,UID 基于每个用户 SID 的最后一位数字,并且我已经在多台机器上验证了这一点。

我希望这篇文章对你有帮助!

答案2

万一这对某人有帮助:让 Winbind 从 Active Directory 中注意到 Unix 登录 shell 和主目录信息的方法是将以下内容添加到smb.conf

winbind nss info = rfc2307

相关内容