我需要在 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
更新文件后,我停止了smbd
和winbind
服务。然后我导航到/var/lib/samba
目录并删除了所有文件。
完成后,我重新启动了机器,UID 基于每个用户 SID 的最后一位数字,并且我已经在多台机器上验证了这一点。
我希望这篇文章对你有帮助!
答案2
万一这对某人有帮助:让 Winbind 从 Active Directory 中注意到 Unix 登录 shell 和主目录信息的方法是将以下内容添加到smb.conf
:
winbind nss info = rfc2307