目标:将 Solaris 10 机器加入现有的 Active Directory。
我执行的步骤:
- 已安装的软件(Samba 3.4.2 来自http://www.sunfreeware.com)
- 收到一张 Kerberos 票据,其中
kinit [email protected]
- 加入域:
net ads join -U admin-user
- 启动 Samba 和 winbind
所有步骤均正常,已使用 、 和klist
进行net getdomainsid
了检查。wbinfo -g
wbinfo -u
现在的问题是:getent passwd EXAMPLE+username
什么都不返回(在另一台 Solaris 10 机器上可以正常工作)。每次我从 AD 请求某些东西时,都会在 log.winbind 中显示以下内容:
[2010/09/07 10:51:41, 0] winbindd/winbindd.c:750(request_len_recv)
request_len_recv: Invalid request size received: 2088 (expected 2096)
根据谷歌,我应该确保正在运行的 libnss_winbind.so 版本与正在运行的 winbind 版本匹配。
但我该怎么做呢?
答案1
Solaris 10 附带了可运行的 (即使不是最新的) samba 版本,但是其库与 sunfreeware 产品不兼容。
您看到的问题是因 sunfreeware 产品nss_winbind.so
包中没有库且不/usr/lib/nss_winbind.so
兼容而导致的。
要修复此问题,您必须自己创建。下载samba 源从 sunfreeware 解压到一个方便的目录,然后 cd 到该目录(samba-3.4.2 是最新的)
cd source3
./configure
make nss_modules
这将产生一个
../nsswitch/libnss_winbind.so
在我的测试系统上将此文件复制到
/usr/local/samba/lib/nss_winbind.so.1
解决了这个问题。
答案2
可能 pam_winbind.so 是错误的版本。请查看此链接: http://www.mentby.com/adrian-graham/samba-334-31-sshwinbind-login-failure.html 解决您的问题。winbind.so