Goal: join a Solaris 10 machine to an existing Active Directory.
Steps I did:
- Installed software (Samba 3.4.2 from http://www.sunfreeware.com)
- Received a Kerberos ticket with
kinit [email protected]
- Join domain:
net ads join -U admin-user
- Start Samba and winbind
All steps are ok, checked this with klist
, net getdomainsid
, wbinfo -g
and wbinfo -u
.
Now the problem: getent passwd EXAMPLE+username
returns nothing at all (on another Solaris 10 machine this works). Everytime I request somehing from AD, this shows up in 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)
According to google, I should ensure the version of libnss_winbind.so running does match the version of winbind that is running.
But how do I do that?
Solaris 10 ships with a working (if not up-to-date) version of samba however the libraries are not compatible with the sunfreeware product.
The problem you are seeing is caused by the sunfreeware product not having an
nss_winbind.so
library in the package and/usr/lib/nss_winbind.so
is not compatible.To fix you will have to create your own. Download the samba source from sunfreeware and unpack it to a convenient directory then cd to it (samba-3.4.2 is current)
this will produce a
../nsswitch/libnss_winbind.so
On my test system copying this file to
/usr/local/samba/lib/nss_winbind.so.1
fixed the problem.
probably pam_winbind.so is the wrong version. look this link: http://www.mentby.com/adrian-graham/samba-334-31-sshwinbind-login-failure.html fix your problem. The winbind.so