From 293421f3c64a2adff7dc15f7ad3adb6120c9fd16 Mon Sep 17 00:00:00 2001
From: Gerald Carter Table of Contents
-Samba-3 supports NT4 style domain trust relationships. This is feature that many sites
-will want to use if they migrate to Samba-3 from and NT4 style domain and do NOT want to
-adopt Active Directory or an LDAP based authentication back end. This section explains
+ Table of Contents
+
+Samba-3 supports NT4-style domain trust relationships. This is a feature that many sites
+will want to use if they migrate to Samba-3 from an NT4-style domain and do not want to
+adopt Active Directory or an LDAP-based authentication backend. This section explains
some background information regarding trust relationships and how to create them. It is now
-possible for Samba-3 to trust NT4 (and vice versa), as well as to create Samba3-to-Samba3
+possible for Samba-3 to trust NT4 (and vice versa), as well as to create Samba-to-Samba
trusts.
-
-Samba-3 can participate in Samba-to-Samba as well as in Samba-to-MS Windows NT4 style
-trust relationships. This imparts to Samba similar scalability as is possible with
-MS Windows NT4.
+
+Samba-3 can participate in Samba-to-Samba as well as in Samba-to-MS Windows NT4-style
+trust relationships. This imparts to Samba similar scalability as with MS Windows NT4.
Given that Samba-3 has the capability to function with a scalable backend authentication
-database such as LDAP, and given it's ability to run in Primary as well as Backup Domain control
+database such as LDAP, and given its ability to run in Primary as well as Backup Domain Control
modes, the administrator would be well advised to consider alternatives to the use of
Interdomain trusts simply because by the very nature of how this works it is fragile.
That was, after all, a key reason for the development and adoption of Microsoft Active Directory.
-
-MS Windows NT3.x/4.0 type security domains employ a non-hierarchical security structure.
-The limitations of this architecture as it affects the scalability of MS Windows networking
-in large organisations is well known. Additionally, the flat namespace that results from
+
+MS Windows NT3/4 type security domains employ a non-hierarchical security structure.
+The limitations of this architecture as it effects the scalability of MS Windows networking
+in large organizations is well known. Additionally, the flat namespace that results from
this design significantly impacts the delegation of administrative responsibilities in
-large and diverse organisations.
+large and diverse organizations.
Microsoft developed Active Directory Service (ADS), based on Kerberos and LDAP, as a means
-of circumventing the limitations of the older technologies. Not every organisation is ready
-or willing to embrace ADS. For small companies the older NT4 style domain security paradigm
-is quite adequate, there thus remains an entrenched user base for whom there is no direct
+of circumventing the limitations of the older technologies. Not every organization is ready
+or willing to embrace ADS. For small companies the older NT4-style domain security paradigm
+is quite adequate, there remains an entrenched user base for whom there is no direct
desire to go through a disruptive change to adopt ADS.
-Microsoft introduced with MS Windows NT the ability to allow differing security domains
-to affect a mechanism so that users from one domain may be given access rights and privileges
+With MS Windows NT, Microsoft introduced the ability to allow differing security domains
+to effect a mechanism so users from one domain may be given access rights and privileges
in another domain. The language that describes this capability is couched in terms of
Trusts. Specifically, one domain will trust the users
from another domain. The domain from which users are available to another security domain is
said to be a trusted domain. The domain in which those users have assigned rights and privileges
is the trusting domain. With NT3.x/4.0 all trust relationships are always in one direction only,
thus if users in both domains are to have privileges and rights in each others' domain, then it is
-necessary to establish two (2) relationships, one in each direction.
+necessary to establish two relationships, one in each direction.
-In an NT4 style MS security domain, all trusts are non-transitive. This means that if there
-are three (3) domains (let's call them RED, WHITE, and BLUE) where RED and WHITE have a trust
+In an NT4-style MS security domain, all trusts are non-transitive. This means that if there
+are three domains (let's call them RED, WHITE and BLUE) where RED and WHITE have a trust
relationship, and WHITE and BLUE have a trust relationship, then it holds that there is no
-implied trust between the RED and BLUE domains. ie: Relationships are explicit and not
+implied trust between the RED and BLUE domains. Relationships are explicit and not
transitive.
-
New to MS Windows 2000 ADS security contexts is the fact that trust relationships are two-way
by default. Also, all inter-ADS domain trusts are transitive. In the case of the RED, WHITE and BLUE
-domains above, with Windows 2000 and ADS the RED and BLUE domains CAN trust each other. This is
-an inherent feature of ADS domains. Samba-3 implements MS Windows NT4
-style Interdomain trusts and interoperates with MS Windows 200x ADS
-security domains in similar manner to MS Windows NT4 style domains.
-
-There are two steps to creating an interdomain trust relationship. To effect a two-way trust
-relationship it is necessary for each domain administrator to create a trust account for the
+domains above, with Windows 2000 and ADS the RED and BLUE domains can trust each other. This is
+an inherent feature of ADS domains. Samba-3 implements MS Windows NT4-style Interdomain trusts
+and interoperates with MS Windows 200x ADS security domains in similar manner to MS Windows NT4-style domains.
+
+There are two steps to creating an interdomain trust relationship. To effect a two-way trust
+relationship, it is necessary for each domain administrator to create a trust account for the
other domain to use in verifying security credentials.
-
-
-
For MS Windows NT4, all domain trust relationships are configured using the
Domain User Manager. This is done from the Domain User Manager Policies
entry on the menu bar. From the menu, select
- . Next to the lower box labelled
+ . Next to the lower box labeled
Permitted to Trust this Domain are two buttons,
and . The button will open a panel in which
to enter the name of the remote domain that will be able to assign access rights to users in
-your domain. You will also need to enter a password for this trust relationship, which the
+your domain. You will also need to enter a password for this trust relationship, which the
trusting domain will use when authenticating users from the trusted domain.
The password needs to be typed twice (for standard confirmation).
-
+
A trust relationship will work only when the other (trusting) domain makes the appropriate connections
-with the trusted domain. To consummate the trust relationship the administrator will launch the
-Domain User Manager, from the menu select Policies, then select Trust Relationships, then click on the
- button that is next to the box that is labelled
-Trusted Domains. A panel will open in which must be entered the name of the remote
-domain as well as the password assigned to that trust.
-
+with the trusted domain. To consummate the trust relationship, the administrator will launch the
+Domain User Manager from the menu select Policies, then select
+Trust Relationships, click on the button
+next to the box that is labeled Trusted Domains. A panel will open in which
+must be entered the name of the remote domain as well as the password assigned to that trust.
+
+
A two-way trust relationship is created when two one-way trusts are created, one in each direction.
Where a one-way trust has been established between two MS Windows NT4 domains (let's call them
-DomA and DomB) the following facilities are created:
-
- DomA (completes the trust connection) Trusts DomB
+DomA and DomB), the following facilities are created:
+
+ DomA (completes the trust connection) Trusts DomB.
- DomA is the Trusting domain
+ DomA is the Trusting domain.
- DomB is the Trusted domain (originates the trust account)
+ DomB is the Trusted domain (originates the trust account).
- Users in DomB can access resources in DomA
+ Users in DomB can access resources in DomA.
- Users in DomA can NOT access resources in DomB
+ Users in DomA cannot access resources in DomB.
- Global groups from DomB CAN be used in DomA
+ Global groups from DomB can be used in DomA.
- Global groups from DomA can NOT be used in DomB
+ Global groups from DomA cannot be used in DomB.
- DomB DOES appear in the logon dialog box on client workstations in DomA
+ DomB does appear in the logon dialog box on client workstations in DomA.
- DomA does NOT appear in the logon dialog box on client workstations in DomB
+ DomA does not appear in the logon dialog box on client workstations in DomB.
- Users / Groups in a trusting domain can NOT be granted rights, permissions or access
+ Users/Groups in a trusting domain cannot be granted rights, permissions or access
to a trusted domain.
- The trusting domain CAN access and use accounts (Users / Global Groups) in the
+ The trusting domain can access and use accounts (Users/Global Groups) in the
trusted domain.
- Administrators of the trusted domain CAN be granted admininstrative rights in the
+ Administrators of the trusted domain can be granted admininstrative rights in the
trusting domain.
- Users in a trusted domain CAN be given rights and privileges in the trusting
+ Users in a trusted domain can be given rights and privileges in the trusting
domain.
- Trusted domain Global Groups CAN be given rights and permissions in the trusting
+ Trusted domain Global Groups can be given rights and permissions in the trusting
domain.
- Global Groups from the trusted domain CAN be made members in Local Groups on
- MS Windows domain member machines.
-
This description is meant to be a fairly short introduction about how to set up a Samba server so
-that it could participate in interdomain trust relationships. Trust relationship support in Samba
-is in its early stage, so lot of things don't work yet.
+that it can participate in interdomain trust relationships. Trust relationship support in Samba
+is at an early stage, so do not be surprised if something does not function as it should.
Each of the procedures described below assumes the peer domain in the trust relationship is
-controlled by a Windows NT4 server. However, the remote end could just as well be another
+controlled by a Windows NT4 server. However, the remote end could just as well be another
Samba-3 domain. It can be clearly seen, after reading this document, that combining
Samba-specific parts of what's written below leads to trust between domains in a purely Samba
environment.
-In order to set the Samba PDC to be the trusted party of the relationship you first need
+In order to set the Samba PDC to be the trusted party of the relationship, you first need
to create a special account for the domain that will be the trusting party. To do that,
-you can use the 'smbpasswd' utility. Creating the trusted domain account is very
+you can use the smbpasswd utility. Creating the trusted domain account is
similar to creating a trusted machine account. Suppose, your domain is
called SAMBA, and the remote domain is called RUMBA. The first step
-will be to issue this command from your favourite shell:
+will be to issue this command from your favorite shell:
where -a means to add a new account into the
-passdb database and -i means: ''create this
-account with the InterDomain trust flag''
+passdb database and -i means: “create this
+account with the InterDomain trust flag”.
-The account name will be 'rumba$' (the name of the remote domain)
+The account name will be “rumba$” (the name of the remote domain).
-After issuing this command you'll be asked to enter the password for
+After issuing this command, you will be asked to enter the password for
the account. You can use any password you want, but be aware that Windows NT will
-not change this password until 7 days following account creation.
+not change this password until seven days following account creation.
After the command returns successfully, you can look at the entry for the new account
(in the standard way as appropriate for your configuration) and see that account's name is
-really RUMBA$ and it has the 'I' flag set in the flags field. Now you're ready to confirm
+really RUMBA$ and it has the “I” flag set in the flags field. Now you are ready to confirm
the trust by establishing it from Windows NT Server.
-
+
+
Open User Manager for Domains and from the
menu, select .
-Right beside the Trusted domains list box press the
+Beside the Trusted domains list box click the
button. You will be prompted for
the trusted domain name and the relationship password. Type in SAMBA, as this is
-the name of the remote domain, and the password used at the time of account creation.
-Press OK and, if everything went without incident, you will see
-Trusted domain relationship successfully
+the name of the remote domain and the password used at the time of account creation.
+Click on and, if everything went without incident, you will see
+the Trusted domain relationship successfully
established message.
-
This time activities are somewhat reversed. Again, we'll assume that your domain
-controlled by the Samba PDC is called SAMBA and NT-controlled domain is called RUMBA.
+controlled by the Samba PDC is called SAMBA and the NT-controlled domain is called RUMBA.
The very first step is to add an account for the SAMBA domain on RUMBA's PDC.
-
+
+
Launch the Domain User Manager, then from the menu select
, .
Now, next to the Trusted Domains box press the
-button, and type in the name of the trusted domain (SAMBA) and the password to use in securing
+button and type in the name of the trusted domain (SAMBA) and the password to use in securing
the relationship.
The password can be arbitrarily chosen. It is easy to change the password
from the Samba server whenever you want. After confirming the password your account is
-ready for use. Now it's Samba's turn.
+ready for use. Now its Samba's turn.
-Using your favourite shell while being logged in as root, issue this command:
+Using your favorite shell while being logged in as root, issue this command:
root# net rpc trustdom establish rumba
You will be prompted for the password you just typed on your Windows NT4 Server box.
-Do not worry if you see an error message that mentions a return code of
-NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT. It means the
-password you gave is correct and the NT4 Server says the account is
-ready for interdomain connection and not for ordinary
-connection. After that, be patient; it can take a while (especially
-in large networks), but eventually you should see the Success message.
-Congratulations! Your trust relationship has just been established.
+An error message `NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT'
+that may be reported periodically is of no concern and may safely be ignored.
+It means the password you gave is correct and the NT4 Server says the account is ready for
+interdomain connection and not for ordinary connection. After that, be patient;
+it can take a while (especially in large networks), but eventually you should see
+the Success message. Congratulations! Your trust
+relationship has just been established.
-Note that you have to run this command as root because you must have write access to
+You have to run this command as root because you must have write access to
the secrets.tdb file.
-
Although Domain User Manager is not present in Windows 2000, it is
also possible to establish an NT4-style trust relationship with a Windows 2000 domain
-controller running in mixed mode as the trusting server. It should also be possible for
+controller running in mixed mode as the trusting server. It should also be possible for
Samba to trust a Windows 2000 server, however, more testing is still needed in this area.
-After creating the interdomain trust account on the
-Samba server as described above, open Active Directory Domains and
+After as described above, open Active Directory Domains and
Trusts on the AD controller of the domain whose resources you wish Samba users
-to have access to. Remember that since NT4-style trusts are not transitive, if you want
+to have access to. Remember that since NT4-style trusts are not transitive, if you want
your users to have access to multiple mixed-mode domains in your AD forest, you will need to
-repeat this process for each of those domains. With Active Directory Domains
+repeat this process for each of those domains. With Active Directory Domains
and Trusts open, right-click on the name of the Active Directory domain that
-will trust our Samba domain and choose , then click on
-the Trusts tab. In the upper part of the panel, you will see a list box
-labelled Domains trusted by this domain:, and an
-Add... button next to it. Press this button, and just as with NT4, you
-will be prompted for the trusted domain name and the relationship password. Press OK, and
+will trust our Samba domain and choose , then click on
+the Trusts tab. In the upper part of the panel, you will see a list box
+labeled Domains trusted by this domain:, and an
+Add... button next to it. Press this button and just as with NT4, you
+will be prompted for the trusted domain name and the relationship password. Press OK and
after a moment, Active Directory will respond with The trusted domain has
been added and the trust has been verified. Your Samba users can now be
granted acess to resources in the AD domain.
-
-Interdomain trust relationships should NOT be attempted on networks that are unstable
+
root# smbpasswd -a -i rumba
@@ -142,82 +140,83 @@ Added user rumba$
Note