我在 Debian Jessie (samba 4.2.10) 上设置了 Samba 4 AD 域控制器。一切运行正常,只是 winbind 给出了错误的用户/组信息。
我有一个示例用户“testuser”和一个安全组“people”。它们的 UNIX 属性设置如下:
然而 winbind 显示了这一点:
root@agnus:~# wbinfo -i testuser
testuser:*:10010:100:Test User:/home/HOME/testuser:/bin/false
UID 匹配,但是其他一切都不正确。
我的 smb.conf 包含以下内容:
# Global parameters
[global]
workgroup = HOME
realm = HOME.LOCAL
netbios name = AGNUS
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
idmap_ldb:use rfc2307 = yes
idmap config *:backend = tdb
idmap config *:range = 2000-9999
idmap config HOME:backend = ad
idmap config HOME:schema_mode = rfc2307
idmap config HOME:range = 10000-99999
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
winbind normalize names = yes
winbind use default domain = yes
winbind refresh tickets = yes
[netlogon]
path = /var/lib/samba/sysvol/home.local/scripts
read only = No
[sysvol]
path = /var/lib/samba/sysvol
read only = No
我的设置有什么问题?
答案1
基本上没什么。由于您使用的是 samba 4 AD DC,所以您缺少模板行。Samba 4.2 和 4.3 对 getent passwd 或 wbinfo -u 或 id 的行为不同。
如果可以的话,请更新至 4.4.3,在 google 中搜索 samba 列表中的 debs。它们运行良好。samba 4.4.3 还需要安装 winbind、ADDC 和成员,但是 ! 现在所有输出都可以相同。
以及有关模板行。
template homedir (G)
When filling out the user information for a Windows NT user, the winbindd(8) daemon uses this parameter to fill in the home directory for that user. If the string %D is present it is
substituted with the user's Windows NT domain name. If the string %U is present it is substituted with the user's Windows NT user name.
Default: template homedir = /home/%D/%U
template shell (G)
When filling out the user information for a Windows NT user, the winbindd(8) daemon uses this parameter to fill in the login shell for that user.
Default: template shell = /bin/false
将这些添加到您的 DC smb.conf。
最后,请阅读: https://www.brightbox.com/blog/2014/03/04/add-cacert-ubuntu-debian/ 这样的设置确实使它变得更加简单。更多问题,请询问 samba 列表。