9.6.2. Domain Member Server
A domain member, while similar to a stand-alone server, is logged into a domain controller (either Windows or Samba) and is subject to the domain's security rules. An example of a domain member server would be a departmental server running Samba that has a machine account on the Primary Domain Controller (PDC). All of the department's clients still authenticate with the PDC, and desktop profiles and all network policy files are included. The difference is that the departmental server has the ability to control printer and network shares.
9.6.2.1. Active Directory Domain Member Server
The following smb.conf
file shows a sample configuration needed to implement an Active Directory domain member server. In this example, Samba authenticates users for services being run locally but is also a client of the Active Directory. Ensure that your kerberos realm
parameter is shown in all caps (for example realm = EXAMPLE.COM
). Since Windows 2000/2003 requires Kerberos for Active Directory authentication, the realm
directive is required. If Active Directory and Kerberos are running on different servers, the password server
directive may be required to help the distinction.
[global]
realm = EXAMPLE.COM
security = ADS
encrypt passwords = yes
# Optional. Use only if Samba cannot determine the Kerberos server automatically.
password server = kerberos.example.com
In order to join a member server to an Active Directory domain, the following steps must be completed:
Configuration of the smb.conf
file on the member server
Configuration of Kerberos, including the /etc/krb5.conf
file, on the member server
Creation of the machine account on the Active Directory domain server
Association of the member server to the Active Directory domain
To create the machine account and join the Windows 2000/2003 Active Directory, Kerberos must first be initialized for the member server wishing to join the Active Directory domain. To create an administrative Kerberos ticket, type the following command as root on the member server:
kinit administrator@EXAMPLE.COM
The kinit
command is a Kerberos initialization script that references the Active Directory administrator account and Kerberos realm. Since Active Directory requires Kerberos tickets, kinit
obtains and caches a Kerberos ticket-granting ticket for client/server authentication. For more information on Kerberos, the /etc/krb5.conf
file, and the kinit
command, refer to .
To join an Active Directory server (windows1.example.com), type the following command as root on the member server:
net ads join -S windows1.example.com -U administrator%password
Since the machine windows1
was automatically found in the corresponding Kerberos realm (the kinit
command succeeded), the net
command connects to the Active Directory server using its required administrator account and password. This creates the appropriate machine account on the Active Directory and grants permissions to the Samba domain member server to join the domain.
Note
Since security = ads
and not security = user
is used, a local password backend such as smbpasswd
is not needed. Older clients that do not support security = ads
are authenticated as if security = domain
had been set. This change does not affect functionality and allows local users not previously in the domain.
9.6.2.2. Windows NT4-based Domain Member Server
The following smb.conf
file shows a sample configuration needed to implement a Windows NT4-based domain member server. Becoming a member server of an NT4-based domain is similar to connecting to an Active Directory. The main difference is NT4-based domains do not use Kerberos in their authentication method, making the smb.conf
file simpler. In this instance, the Samba member server functions as a pass through to the NT4-based domain server.
[global]
workgroup = DOCS
netbios name = DOCS_SRV
security = domain
[homes]
comment = Home Directories
valid users = %S
read only = No
browseable = No
[public]
comment = Data
path = /export
force user = docsbot
force group = users
guest ok = Yes
Having Samba as a domain member server can be useful in many situations. There are times where the Samba server can have other uses besides file and printer sharing. It may be beneficial to make Samba a domain member server in instances where Linux-only applications are required for use in the domain environment. Administrators appreciate keeping track of all machines in the domain, even if not Windows-based. In the event the Windows-based server hardware is deprecated, it is quite easy to modify the smb.conf
file to convert the server to a Samba-based PDC. If Windows NT-based servers are upgraded to Windows 2000/2003, the smb.conf
file is easily modifiable to incorporate the infrastructure change to Active Directory if needed.
Important
After configuring the smb.conf
file, join the domain before starting Samba by typing the following command as root:
net rpc join -U administrator%password
Note that the -S
option, which specifies the domain server hostname, does not need to be stated in the net rpc join
command. Samba uses the hostname specified by the workgroup
directive in the smb.conf
file instead of it being stated explicitly.