Anton Starikov
2009-Dec-15 19:22 UTC
[Samba] Kerberos authentication when accessing samba domain member when PDC is also samba
Hi!
I have next setup:
PDC: Samba 3.0.25b-apple, Mac OS X 10.5.8 server. (Lets call it Serv2)
Machines can join domain. Clients can use kerberos to authenticate. Everything
works pretty good.
Domain member: Samba 3.2.7-11.4.1-2210-SUSE-CODE11, OpenSUSE 11.1. (Lets call it
Serv2)
this server joined domain. Clients can connets, server authenticate clients on
domain controller, everything good, with one exception. Clients can't use
kerberos authentication when they access Serv2. Serv2 unable to check validity
of tickets.
Is it possible to have such config working (samba domain members accept kerberos
authentication) without Windows-based ADS?
Here I provide effective [global] section for both servers
Serv1:
Server role: ROLE_DOMAIN_PDC
[global]
dos charset = 437
unix charset = UTF-8-MAC
display charset = UTF-8-MAC
workgroup = MY_DOMAIN
realm = XX.MY.REALM.HERE
server string = PDC
auth methods = guest, odsam
map to guest = Bad User
obey pam restrictions = Yes
passdb backend = odsam
lanman auth = No
use kerberos keytab = Yes
log level = 2
debug pid = Yes
max xmit = 131072
name resolve order = lmhosts wins bcast host
max smbd processes = 100
printcap name = cups
add user script = /usr/bin/opendirectorypdbconfig -c create_user_account
-r %u -n /LDAPv3/127.0.0.1
add machine script = /usr/bin/opendirectorypdbconfig -c
create_computer_account -r %u -n /LDAPv3/127.0.0.1
logon script = logon.cmd
logon path = XXX
logon drive = XXX
logon home = XXX
domain logons = Yes
os level = 65
preferred master = Yes
domain master = Yes
wins server = 130.89.4.21
usershare path = /var/samba/shares
idmap domains = default
idmap alloc backend = odsam
idmap negative cache time = 5
com.apple:filter shares by access = yes
darwin_streams:brlm = yes
idmap config default:backend = odsam
idmap config default:default = yes
acl check permissions = No
ea support = Yes
stream support = Yes
use sendfile = Yes
printing = cups
print command =
lpq command = %p
lprm command =
include = /var/db/smb.conf
vfs objects = darwinacl, darwin_streams
Serv2:
Server role: ROLE_DOMAIN_MEMBER
[global]
workgroup = MY_DOMAIN
realm = XX.MY.REALM.HERE
server string = file-server
security = domain
map to guest = Bad User
password server = my.pdc.hostname.here
log file = /var/log/samba/log.%m.%U
printcap name = cups
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s
/bin/false %m$
domain master = No
wins server = wins_servers_here
winbind use default domain = Yes
cups options = raw
include = /etc/samba/dhcp.conf
I tried to put "security = ADS" for Serv2, but it doesn't change a
lot. And, obviously, you can't "net ads join" on Serv2. Because
Serv1 isn't really ADS.
Does anyone have ideas how to get this setup working? I'm pretty sure there
should be some magical trick! Cause Serv1 definitely can accept krb5 tickets,
and Serv2 able to use this method, at least in case of ADS controller above.
Of course I can try to work it different way (put security=USER for Serv2 and
spend days and hours trying to get it authorize against open-directory, but I
would rather prefer to stick to "domain" concept).
Anton.
