[Samba] Authentication confusion - may be LDAP related
Ric Tibbetts
rtibbetts at lanl.gov
Tue Sep 27 16:44:51 GMT 2005
All;
I think I may have a clue about what's going wrong in my little
environment here, but I could really use a more experienced eye on it.
I've been having some strange authentication problems on a new
install. With some digging, I may have a "clue" about what's going wrong.
Some background: I'm only looking to use samba to share Unix
directories to the Windows community. I'm not looking to build a full
up login server. This is usually a VERY basic, and simple thing to
to. You simply have to be sure that the windows users also have a
matching account on the *nix side (doesn't need to be an smbpasswd
account, just a very generic *nix account). I've done this several
times, so when it blew up on me this time, it has caused me some
sleepless nights trying to figure out.
Here goes:
In the last install I did ( at another company ), I did a very simple
install, and it worked for what it was needed to do (simply provide
the windows users with access to Unix directories, via shares). I
didn't need a login controller, and I don't now.
In that case, there was an LDAP server that validated Unix logins,
but I pretty much just ignored it, and all was well. The *nix OS
handled the authentication just fine (a very basic setup. For this
kind of setup, the user only has to exist. The OS could check that
very easily).
So, I was trying to do the same here. When nothing would work right
without making samba specific users (via smbpasswd), I started
digging into the LDAP server. This environment is tortured. Here's
what I found.
On the Windows ADS, user IDs are pure numeric.
So, for example, my Windows login is: 123456
Unix doesn't like that.So the unix logins are: u123456
Handling the translation for samba is just a usermap entry u123456 = 123456
Should be simple enough. But I'm getting No Such User errors. So I
dug into the LDAP server.
The user identification is strange. the dn: here looks like:
dn: username=u123456,ou=aixuser,cn=aixsecdb,cn=aixdata
uid: 1040
username: u123456
<snip>
with u123456 being my *nix login.
To me, this looks very wrong (not to mention that there's no dc=).
My last LDAP server it looked like:
dn: uid=tibbetts,ou=People,dc=ldap-test,dc=com
uidNumber: 123456
uid: tibbetts
<snip>
with "tibbetts" being my login.
If I'm seeing this right, shouldn't the login be the "uid" not
"username"? Is that what Samba is looking for?
With the login being set to username, and uid being (what should be)
the uidNumber, I believe that it's confusing Samba, and that's why
I'm getting the user not found errors.
Is a way to work around this? Or am I just SOL?
Or am I all wet, and looking in the wrong place?
I'd really appreciate a fresh set of eyes on this.
Thanks in advance for any advice on this one!!!
-Ric
More information about the samba
mailing list