From c3c1991a8dd7e0def487e449d269950707141976 Mon Sep 17 00:00:00 2001 From: John Terpstra Date: Thu, 23 Jun 2005 22:42:21 +0000 Subject: [PATCH] Update. (This used to be commit b9723ad0367bae2064a147f42730bc3efd0688ac) --- docs/Samba3-HOWTO/TOSHARG-InterdomainTrusts.xml | 234 +++++++++++++++++------- docs/Samba3-HOWTO/TOSHARG-msdfs.xml | 89 +++++---- 2 files changed, 220 insertions(+), 103 deletions(-) diff --git a/docs/Samba3-HOWTO/TOSHARG-InterdomainTrusts.xml b/docs/Samba3-HOWTO/TOSHARG-InterdomainTrusts.xml index 1265e5ddaeb..70e9814331c 100644 --- a/docs/Samba3-HOWTO/TOSHARG-InterdomainTrusts.xml +++ b/docs/Samba3-HOWTO/TOSHARG-InterdomainTrusts.xml @@ -23,6 +23,10 @@ trusts samba-to-samba trusts Active Directory +NT4-style domain +trust relationships +ADS +LDAP-based 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 chapter explains @@ -35,15 +39,31 @@ trusts. winbind UID range GID range +daemon +winbindd The use of interdomain trusts requires use of winbind, so the winbindd daemon must be running. Winbind operation in this mode is dependent on the specification of a valid UID range and a valid GID range in the &smb.conf; file. -These are specified respectively using -10000-20000 and -10000-20000. +These are specified respectively using: + +10000-20000 +10000-20000 + +passdb backend +POSIX user accounts +maximum value +4294967295 +The range of values specified must not overlap values used by the host operating system and must +not overlap values used in the passdb backend for POSIX user accounts. The maximum value is +limited by the upper-most value permitted by the host operating system. This is a UNIX kernel +limited parameter. Linux kernel 2.6 based systems support a maximum value of 4294967295 +(32-bit unsigned variable). +winbind +trusting domain +trusted domain The use of winbind is necessary only when Samba is the trusting domain, not when it is the trusted domain. @@ -52,16 +72,23 @@ trusted domain. Features and Benefits +scalability +trust relationships Samba-3 can participate in Samba-to-Samba as well as in Samba-to-MS Windows NT4-style trust relationships. This imparts to Samba scalability similar to that with MS Windows NT4. -Given that Samba-3 can function with a scalable backend authentication -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. +scalable backend +authentication database +LDAP +interdomain trusts +ADS +Given that Samba-3 can function with a scalable backend authentication 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 trusts +function, this system is fragile. That was, after all, a key reason for the development and adoption of +Microsoft Active Directory. @@ -70,6 +97,12 @@ That was, after all, a key reason for the development and adoption of Microsoft Trust Relationship Background +security domains +nonhierarchical +security structure +large organizations +delegation +administrative responsibilities MS Windows NT3/4-type security domains employ a nonhierarchical 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 @@ -78,19 +111,31 @@ large and diverse organizations. +ADS +Kerberos +LDAP +limitations +domain security Microsoft developed Active Directory Service (ADS), based on Kerberos and LDAP, as a means 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, so there remains an entrenched user base for whom there is no direct +is quite adequate, and so there remains an entrenched user base for whom there is no direct desire to go through a disruptive change to adopt ADS. +security domains +access rights +privileges +trusts +trusted domain +trusting domain +one direction With Windows NT, Microsoft introduced the ability to allow different 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 +from another domain. The domain from which users can access 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, so if users in both domains are to have privileges and rights in each others' domain, then it is @@ -98,19 +143,30 @@ necessary to establish two relationships, one in each direction. -In an NT4-style MS security domain, all trusts are nontransitive. 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. Relationships are explicit and not -transitive. +security domain +nontransitive +trust relationship +transitive +explicit trust +Further, in an NT4-style MS security domain, all trusts are nontransitive. 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. +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, 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. +ADS +security contexts +trust relationships +two-way trust +Windows 2000 +security domains +NT4-style domains +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, 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. @@ -119,10 +175,12 @@ and interoperates with MS Windows 200x ADS security domains in similar manner to Native MS Windows NT4 Trusts Configuration +Interdomain Trustscreating +two-way trust +security credentials 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. -Interdomain Trustscreating @@ -130,6 +188,11 @@ other domain to use in verifying security credentials. Creating an NT4 Domain Trust +domain trust +trust relationships +>Domain User Manager +remote domain +standard confirmation 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 Policy menu, select @@ -149,6 +212,11 @@ The password needs to be typed twice (for standard confirmation). Completing an NT4 Domain Trust +trust relationship +trusting domain +trusted domain +remote domain +password assigned Interdomain TrustsCompleting 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 launches the @@ -165,6 +233,11 @@ must be entered the name of the remote domain as well as the password assigned t +two-way trust +trust relationship +trust established +one-way trust +Windows NT4 domains Interdomain TrustsFacilities 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 @@ -254,23 +327,32 @@ DomA and DomB), the following facilities are created: Configuring Samba NT-Style Domain Trusts +interdomain trust This description is meant to be a fairly short introduction about how to set up a Samba server so 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 next 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 -Samba-3 domain. It can be clearly seen, after reading this document, that combining -Samba-specific parts of what's written in the following sections leads to trust between domains in a purely Samba -environment. +peer domain +trust relationship +Windows NT4 Server +between domains +Each of the procedures described next 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 Samba-3 domain. It can be clearly +seen, after reading this document, that combining Samba-specific parts of what's written in the following +sections leads to trust between domains in a purely Samba environment. Samba as the Trusted Domain +trusted party +special account +trusting party +PDC +smbpasswd 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 @@ -293,6 +375,10 @@ account with the Interdomain trust flag. +account name +remote domain +password database +/etc/passwd The account name will be rumba$ (the name of the remote domain). If this fails, you should check that the trust account has been added to the system password database (/etc/passwd). If it has not been added, you @@ -300,29 +386,31 @@ can add it manually and then repeat the previous step. -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. -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 the account's name is -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. +password +new account +confirm the trust +Windows NT Server +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. +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 the account's name is 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. User Manager -Open User Manager for Domains and from the -Policies menu, select Trust Relationships.... -Beside the Trusted domains list box, click the -Add... 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. -Click on OK and, if everything went without incident, you will see the - -Trusted domain relationship successfully established - -message. +trusted domain name +relationship password +remote domain +established +Open User Manager for Domains and from the Policies menu, select +Trust Relationships.... Beside the Trusted domains list box, +click the Add... 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. Click on OK and, if everything went without incident, you +will see the Trusted domain relationship successfully established message. @@ -330,6 +418,8 @@ message. Samba as the Trusting Domain +NT-controlled domain +PDC This time activities are somewhat reversed. Again, we'll assume that your domain controlled by the Samba PDC is called SAMBA and the NT-controlled domain is called RUMBA. @@ -341,6 +431,8 @@ The very first step is to add an account for the SAMBA domain on RUMBA's PDC. User Manager +trusted domain +password Launch the Domain User Manager, then from the menu select Policies, Trust Relationships. Now, next to the Trusted Domains box, press the Add @@ -349,13 +441,15 @@ the relationship. -The password can be arbitrarily chosen. It is easy to change the password -from the Samba server whenever you want. After you confirm the password, your account is -ready for use. Now its Samba's turn. +password +confirm the password +The password can be arbitrarily chosen. It is easy to change the password from the Samba server whenever you +want. After you confirm the password, your account is ready for use. Now its Samba's turn. Using your favorite shell while logged in as root, issue this command: +netrpctrustdom establish @@ -363,8 +457,11 @@ Using your favorite shell while logged in as root, issue this command: +password +interdomain connection +ordinary connection You will be prompted for the password you just typed on your Windows NT4 Server box. -An error message, "NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT," +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; @@ -383,7 +480,12 @@ the secrets.tdb file. NT4-Style Domain Trusts with Windows 2000 + +trust relationship +Windows 2000 server +NT4-style +mixed mode 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 @@ -391,23 +493,23 @@ Samba to trust a Windows 2000 server; however, more testing is still needed in t -After creating the interdomain trust account on the -Samba server as described previously, 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 -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 -and trusts open, right-click on the name of the Active Directory domain that -will trust our Samba domain and choose Properties, 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 access to resources in the AD domain. +interdomain trust +trust account +not transitive +ADS +After creating the interdomain trust account on the Samba server +as described previously, 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 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 and trusts open, right-click on the name of the Active Directory domain that will trust +our Samba domain and choose Properties, 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 access to resources in the AD domain. @@ -451,7 +553,7 @@ when you unjoin the machine, it is done; otherwise it is not done. -Problems with LDAP ldapsam and the smbldap-tools +Problems with LDAP ldapsam and Older Versions of smbldap-tools If you use the smbldap-useradd script to create a trust diff --git a/docs/Samba3-HOWTO/TOSHARG-msdfs.xml b/docs/Samba3-HOWTO/TOSHARG-msdfs.xml index b9dbb848658..528f41d8cb6 100644 --- a/docs/Samba3-HOWTO/TOSHARG-msdfs.xml +++ b/docs/Samba3-HOWTO/TOSHARG-msdfs.xml @@ -23,6 +23,11 @@ Features and Benefits +distributed file systemDFS +physical locations +higher availability +load balancing +logical directories The distributed file system (DFS) provides a means of separating the logical view of files and directories that users see from the actual physical locations of these resources on the network. It allows for higher availability, smoother @@ -30,24 +35,34 @@ - For information about DFS, refer to the -Microsoft documentation. - This document explains how to host a DFS tree on a UNIX machine (for DFS-aware - clients to browse) using Samba. +DFS +DFS tree +DFS-aware + For information about DFS, refer to the Microsoft + documentation. This document explains how to host a DFS tree on a UNIX machine (for DFS-aware clients + to browse) using Samba. - A Samba server can be made a DFS server by setting the global - Boolean - parameter in the &smb.conf; file. You designate a share as a DFS - root using the share-level Boolean parameter. A DFS root directory on Samba hosts DFS - links in the form of symbolic links that point to other servers. For example, a symbolic link - junction->msdfs:storage1\share1 in the share directory acts - as the DFS junction. When DFS-aware clients attempt to access the junction link, - they are redirected to the storage location (in this case, \\storage1\share1). +DFS server +share-level +DFS junction +DFS-aware + A Samba server can be made a DFS server by setting the global Boolean + parameter in the &smb.conf; file. You designate a share as a DFS root using the share-level Boolean + parameter. A DFS root directory on Samba hosts DFS links in the form of + symbolic links that point to other servers. For example, a symbolic link + junction->msdfs:storage1\share1 in the share directory acts as the DFS junction. When + DFS-aware clients attempt to access the junction link, they are redirected to the storage location (in this + case, \\storage1\share1). +DFS-aware +DFS tree +DFS links +DFS DFS trees on Samba work with all DFS-aware clients ranging from Windows 95 to 200x. The following sample configuration shows how to setup a DFS tree on a Samba server. In the /export/dfsroot directory, you set up your DFS links to @@ -74,18 +89,24 @@ - You should set up the permissions and ownership of - the directory acting as the DFS root so that only designated - users can create, delete, or modify the msdfs links. Also note - that symlink names should be all lowercase. This limitation exists - to have Samba avoid trying all the case combinations to get at - the link name. Finally, set up the symbolic links to point to the - network shares you want and start Samba. - - Users on DFS-aware clients can now browse the DFS tree - on the Samba server at \\samba\dfs. Accessing - links linka or linkb (which appear as directories to the client) - takes users directly to the appropriate shares on the network. + +DFS root +msdfs links +symbolic links + You should set up the permissions and ownership of the directory acting as the DFS root so that only + designated users can create, delete, or modify the msdfs links. Also note that symlink names should be all + lowercase. This limitation exists to have Samba avoid trying all the case combinations to get at the link + name. Finally, set up the symbolic links to point to the network shares you want and start Samba. + + + +DFS-aware clients +DFS tree + Users on DFS-aware clients can now browse the DFS tree on the Samba server at + \\samba\dfs. Accessing links linka or linkb (which appear as directories to the client) + takes users directly to the appropriate shares on the network. + + @@ -127,29 +148,23 @@ For example, I had a share defined as such: - + + + /export/home/Shares/public_share + yes + + and I could not make my Windows 9x/Me (with the dfs client installed) follow this symlink: - [pub] - path = /export/home/Shares/public_share - msdfs root = yes - - - and I could not make my Windows 9x/Me (with the dfs client installed) - follow this symlink: - - - damage1 -> msdfs:damage\test-share + damage1 -> msdfs:damage\test-share Running a debug level of 10 reveals: - [2003/08/20 11:40:33, 5] msdfs/msdfs.c:is_msdfs_link(176) is_msdfs_link: /export/home/shares/public_share/* does not exist. - Curious. So I changed the directory name from .../Shares/... to .../shares/... (along with my service definition) and it worked! -- 2.11.4.GIT