[linux] domain controller & samba

Tomáš Griger tgriger na gemma.cz
Čtvrtek Srpen 22 12:02:37 CEST 2002


> > zdravim,
> >
> > chcem sa spytat ci ma niekto skusenost s vytvorenim windows domeny
> > na sambe. mam domenu este na nt4 s pdc(primary domain controller) &
> > bdc (backup domain controller) ...
> >
> > bud to chcem prehodit na w2k server alebo to spravit na linuxe so
> > sambou....
> >
>
> Ahoj
>
> PDC spravis bez vacsich problemov, BDC nie (teda az po verziu 2.2.1a,
ktoru mam
> ja to zarucene neslo).
>
> PF
>
Ahoj. Od verzie 2.2 sa to da. Tu je postup :

How to Act as a Backup Domain Controller in a Purely Samba Controlled Domain

Prerequisite Reading
Before you continue reading in this chapter, please make sure that you are
comfortable with configuring a Samba PDC as described in the
Samba-PDC-HOWTO.

Background
What is a Domain Controller? It is a machine that is able to answer logon
requests from workstations in a Windows NT Domain. Whenever a user logs into
a Windows NT Workstation, the workstation connects to a Domain Controller
and asks him whether the username and password the user typed in is correct.
The Domain Controller replies with a lot of information about the user, for
example the place where the users profile is stored, the users full name of
the user. All this information is stored in the NT user database, the
so-called SAM.
There are two kinds of Domain Controller in a NT 4 compatible Domain: A
Primary Domain Controller (PDC) and one or more Backup Domain Controllers
(BDC). The PDC contains the master copy of the SAM. Whenever the SAM has to
change, for example when a user changes his password, this change has to be
done on the PDC. A Backup Domain Controller is a machine that maintains a
read-only copy of the SAM. This way it is able to reply to logon requests
and authenticate users in case the PDC is not available. During this time no
changes to the SAM are possible. Whenever changes to the SAM are done on the
PDC, all BDC receive the changes from the PDC.
Since version 2.2 Samba officially supports domain logons for all current
Windows Clients, including Windows 2000 and XP. This text assumes the domain
to be named SAMBA. To be able to act as a PDC, some parameters in the
[global]-section of the smb.conf have to be set:
workgroup = SAMBA
domain master = yes
domain logons = yes
Several other things like a [homes] and a [netlogon] share also may be set
along with settings for the profile path, the users home drive and others.
This will not be covered in this document.

What qualifies a Domain Controller on the network?
Every machine that is a Domain Controller for the domain SAMBA has to
register the NetBIOS group name SAMBA#1c with the WINS server and/or by
broadcast on the local network. The PDC also registers the unique NetBIOS
name SAMBA#1b with the WINS server. The name type #1b is normally reserved
for the domain master browser, a role that has nothing to do with anything
related to authentication, but the Microsoft Domain implementation requires
the domain master browser to be on the same machine as the PDC.

How does a Workstation find its domain controller?
A NT workstation in the domain SAMBA that wants a local user to be
authenticated has to find the domain controller for SAMBA. It does this by
doing a NetBIOS name query for the group name SAMBA#1c. It assumes that each
of the machines it gets back from the queries is a domain controller and can
answer logon requests. To not open security holes both the workstation and
the selected (TODO: How is the DC chosen) domain controller authenticate
each other. After that the workstation sends the user's credentials (his
name and password) to the domain controller, asking for approval.

When is the PDC needed?
Whenever a user wants to change his password, this has to be done on the
PDC. To find the PDC, the workstation does a NetBIOS name query for
SAMBA#1b, assuming this machine maintains the master copy of the SAM. The
workstation contacts the PDC, both mutually authenticate and the password
change is done.

Can Samba be a Backup Domain Controller?
With version 2.2, no. The native NT SAM replication protocols have not yet
been fully implemented. The Samba Team is working on understanding and
implementing the protocols, but this work has not been finished for version
2.2.
Can I get the benefits of a BDC with Samba? Yes. The main reason for
implementing a BDC is availability. If the PDC is a Samba machine, a second
Samba machine can be set up to service logon requests whenever the PDC is
down.

How do I set up a Samba BDC?
Several things have to be done:
" The file private/MACHINE.SID identifies the domain. When a samba server is
first started, it is created on the fly and must never be changed again.
This file has to be the same on the PDC and the BDC, so the MACHINE.SID has
to be copied from the PDC to the BDC.
" The Unix user database has to be synchronized from the PDC to the BDC.
This means that both the /etc/passwd and /etc/group have to be replicated
from the PDC to the BDC. This can be done manually whenever changes are
made, or the PDC is set up as a NIS master server and the BDC as a NIS slave
server. To set up the BDC as a mere NIS client would not be enough, as the
BDC would not be able to access its user database in case of a PDC failure.
" The Samba password database in the file private/smbpasswd has to be
replicated from the PDC to the BDC. This is a bit tricky, see the next
section.
" Any netlogon share has to be replicated from the PDC to the BDC. This can
be done manually whenever login scripts are changed, or it can be done
automatically together with the smbpasswd synchronization.
Finally, the BDC has to be found by the workstations. This can be done by
setting
workgroup = samba
domain master = no
domain logons = yes
in the [global]-section of the smb.conf of the BDC. This makes the BDC only
register the name SAMBA#1c with the WINS server. This is no problem as the
name SAMBA#1c is a NetBIOS group name that is meant to be registered by more
than one machine. The parameter 'domain master = no' forces the BDC not to
register SAMBA#1b which as a unique NetBIOS name is reserved for the Primary
Domain Controller.

How do I replicate the smbpasswd file?
Replication of the smbpasswd file is sensitive. It has to be done whenever
changes to the SAM are made. Every user's password change is done in the
smbpasswd file and has to be replicated to the BDC. So replicating the
smbpasswd file very often is necessary.
As the smbpasswd file contains plain text password equivalents, it must not
be sent unencrypted over the wire. The best way to set up smbpasswd
replication from the PDC to the BDC is to use the utility rsync. rsync can
use ssh as a transport. ssh itself can be set up to accept *only* rsync
transfer without requiring the user to type a password.



---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.384 / Virová báze: 216 - datum vydání: 21. 8. 2002



Další informace o konferenci Linux