Winbind是Samba程序套件的一个组件,可以解决统一登录问题。Winbind使用Microsoft RPC调用,可插入身份验证模块(PAM)和名称服务开关(NSS)的UNIX实现,以允许Windows NT域用户在UNIX计算机上出现并作为UNIX用户运行。本章介绍Winbind系统,其提供的功能,如何配置以及如何在内部工作。
Winbind提供了三个独立的功能:
1.验证用户凭据(通过PAM)。这样就可以使用Windows NT4(包括Samba域)或Active Directory域中的用户和组帐户登录UNIX / Linux系统。
2.身份解析(通过NSS)。不使用winbind时,这是默认设置。
3.Winbind维护一个名为winbind_idmap.tdb的数据库,在其中存储UNIX UID,GID和NT SID之间的映射。此映射仅用于没有本地UID / GID的用户和组。它存储从已映射到NT SID的idmap uid / gid范围分配的UID / GID。如果idmap backend已将其指定为ldap:ldap://hostname[:389],则Winbind将从LDAP数据库获取此信息,而不是使用本地映射。
如果winbindd未运行,则smbd(将调用winbindd)将退回到使用纯本地信息/etc/passwd,/etc/group并且不会使用动态映射。在已启用NSS的操作系统上,用户和组信息的解析将通过NSS完成。
当其它进程从映射数据库(idmap2.tdb 、group_mapping.tdb)获取域用户/组映射数据时,如果在再数据库中找到映射关系数据则直接返回数据,没有找到的话winbindd进程则会主动去将所需的域用户/组信息映射到本地数据库。