Author: jht
Date: 2007-08-13 13:14:52 +0000 (Mon, 13 Aug 2007)
New Revision: 1148

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba-docs&rev=1148

Log:
Removal of mulitple passdb backend notes.
Modified:
   trunk/Samba3-HOWTO/TOSHARG-Passdb.xml


Changeset:
Modified: trunk/Samba3-HOWTO/TOSHARG-Passdb.xml
===================================================================
--- trunk/Samba3-HOWTO/TOSHARG-Passdb.xml       2007-08-13 09:02:42 UTC (rev 
1147)
+++ trunk/Samba3-HOWTO/TOSHARG-Passdb.xml       2007-08-13 13:14:52 UTC (rev 
1148)
@@ -14,7 +14,7 @@
                        <address><email>[EMAIL PROTECTED]</email></address>
                </affiliation>
        </author>
-       
+
        <pubdate>May 24, 2003</pubdate>
 </chapterinfo>
 <title>Account Information Databases</title>
@@ -24,10 +24,9 @@
 <indexterm><primary>password backends</primary></indexterm>
 <indexterm><primary>scalability</primary></indexterm>
 <indexterm><primary>ADS</primary></indexterm>
-Samba-3 implements a new capability to work concurrently with multiple account 
backends.
-The possible new combinations of password backends allows Samba-3 a degree of 
flexibility
-and scalability that previously could be achieved only with MS Windows Active 
Directory (ADS).
-This chapter describes the new functionality and how to get the most out of it.
+Early releases of Samba-3 implemented new capability to work concurrently with 
multiple account backends. This
+capability was removed beginning with release of Samba 3.0.23. Commencing with 
Samba 3.0.23 it is possible to
+work with only one specified passwd backend.
 </para>
 
 <para>
@@ -111,7 +110,7 @@
                        LanMan and NT-encrypted passwords as well as a field 
that stores some
                        account information. This form of password backend does 
not store any of
                        the MS Windows NT/200x SAM (Security Account Manager) 
information required to
-                       provide the extended controls that are needed for more 
comprehensive 
+                       provide the extended controls that are needed for more 
comprehensive
                        interoperation with MS Windows NT4/200x servers.
                        </para>
 
@@ -194,7 +193,7 @@
                        <para>
 <indexterm><primary>rich directory backend</primary></indexterm>
 <indexterm><primary>distributed account</primary></indexterm>
-                       This provides a rich directory backend for distributed 
account installation.    
+                       This provides a rich directory backend for distributed 
account installation.
                        </para>
 
                        <para>
@@ -240,7 +239,7 @@
        </para>
 
        <para>
-<indexterm><primary>encrypted passwords</primary></indexterm>  
+<indexterm><primary>encrypted passwords</primary></indexterm>
 <indexterm><primary>LanMan</primary></indexterm>
 <indexterm><primary>plaintext passwords</primary></indexterm>
 <indexterm><primary>registry</primary></indexterm>
@@ -253,11 +252,11 @@
 <indexterm><primary>UNIX-style encrypted passwords</primary></indexterm>
 <indexterm><primary>converted</primary></indexterm>
        Many people ask why Samba cannot simply use the UNIX password database. 
Windows requires
-       passwords that are encrypted in its own format.  The UNIX passwords 
can't be converted to 
+       passwords that are encrypted in its own format.  The UNIX passwords 
can't be converted to
        UNIX-style encrypted passwords. Because of that, you can't use the 
standard UNIX user
        database, and you have to store the LanMan and NT hashes somewhere else.
        </para>
-       
+
        <para>
 <indexterm><primary>differently encrypted passwords</primary></indexterm>
 <indexterm><primary>profile</primary></indexterm>
@@ -267,7 +266,7 @@
        user that is not stored in a UNIX user database: for example, 
workstations the user may logon from,
        the location where the user's profile is stored, and so on. Samba 
retrieves and stores this
        information using a <smbconfoption name="passdb backend"/>. Commonly 
available backends are LDAP,
-       tdbsam, and plain text file. For more information, see the man page for 
&smb.conf; regarding the 
+       tdbsam, and plain text file. For more information, see the man page for 
&smb.conf; regarding the
        <smbconfoption name="passdb backend"/> parameter.
        </para>
 
@@ -294,7 +293,7 @@
 
        <sect2>
        <title>Important Notes About Security</title>
-               
+
                <para>
 <indexterm><primary>SMB password encryption</primary></indexterm>
 <indexterm><primary>clear-text passwords</primary></indexterm>
@@ -304,7 +303,7 @@
                The UNIX and SMB password encryption techniques seem similar on 
the surface. This
                similarity is, however, only skin deep. The UNIX scheme 
typically sends clear-text
                passwords over the network when logging in. This is bad. The 
SMB encryption scheme
-               never sends the clear-text password over the network, but it 
does store the 16-byte 
+               never sends the clear-text password over the network, but it 
does store the 16-byte
                hashed values on disk. This is also bad. Why? Because the 16 
byte hashed values
                are a <quote>password equivalent.</quote> You cannot derive the 
user's password from them, but
                they could potentially be used in a modified client to gain 
access to a server.
@@ -314,7 +313,7 @@
                passwords of all your users. Its contents must be kept secret, 
and the file should
                be protected accordingly.
                </para>
-               
+
                <para>
 <indexterm><primary>password scheme</primary></indexterm>
 <indexterm><primary>plaintext passwords</primary></indexterm>
@@ -331,7 +330,7 @@
                are disabled from being sent over the wire. This mandates 
either the use of encrypted
                password support or editing the Windows NT registry to 
re-enable plaintext passwords.
                </para>
-               
+
                <para>
 <indexterm><primary>domain security</primary></indexterm>
 <indexterm><primary>domain environment</primary></indexterm>
@@ -366,7 +365,7 @@
                        <listitem><para>Windows 200x Server/Advanced 
Server.</para></listitem>
                        <listitem><para>Windows XP 
Professional.</para></listitem>
                </itemizedlist>
-                       
+
                <para>
 <indexterm><primary>SMB/CIFS</primary></indexterm>
 <indexterm><primary>authentication</primary></indexterm>
@@ -413,7 +412,7 @@
 <indexterm><primary>disk</primary></indexterm>
                                Plaintext passwords are not stored anywhere in 
memory or on disk.
                                </para></listitem>
-                        
+ 
                                <listitem><para>
 <indexterm><primary>encrypted passwords</primary></indexterm>
 <indexterm><primary>user-level security</primary></indexterm>
@@ -448,13 +447,13 @@
 <indexterm><primary>cached in memory</primary></indexterm>
                                Plaintext passwords are not kept on disk and 
are not cached in memory.
                                </para></listitem>
-                               
+
                                <listitem><para>
 <indexterm><primary>Login</primary></indexterm>
 <indexterm><primary>FTP</primary></indexterm>
                                Plaintext passwords use the same password file 
as other UNIX services, such as Login and FTP.
                                </para></listitem>
-                               
+
                                <listitem><para>
 <indexterm><primary>Telnet</primary></indexterm>
 <indexterm><primary>FTP</primary></indexterm>
@@ -593,7 +592,7 @@
 <indexterm><primary>RFC 2307</primary></indexterm>
 <indexterm><primary>PADL</primary></indexterm>
                <emphasis>idmap_ad:</emphasis> An IDMAP backend that supports 
the Microsoft Services for
-               UNIX RFC 2307 schema available from the PADL Web 
+               UNIX RFC 2307 schema available from the PADL Web
                <ulink 
url="http://www.padl.com/download/xad_oss_plugins.tar.gz";>site</ulink>.
                </para>
                </listitem>
@@ -646,7 +645,7 @@
        through intermediate tools and utilities. The total environment that 
consists of the LDAP directory
        and the middle-ware tools and utilities makes it possible for all user 
access to the UNIX platform
        to be managed from a central environment and yet distributed to 
wherever the point of need may
-       be physically located. Applications that benefit from this 
infrastructure include: UNIX login 
+       be physically located. Applications that benefit from this 
infrastructure include: UNIX login
        shells, mail and messaging systems, quota controls, printing systems, 
DNS servers, DHCP servers,
        and also Samba.
        </para>
@@ -673,7 +672,7 @@
        Information Tree (DIT) may impact current and future site needs, as 
well as the ability to meet
        them. The way that Samba SAM information should be stored within the 
DIT varies from site to site
        and with each implementation new experience is gained. It is well 
understood by LDAP veterans that
-       first implementations create awakening, second implementations of LDAP 
create fear, and 
+       first implementations create awakening, second implementations of LDAP 
create fear, and
        third-generation deployments bring peace and tranquility.
        </para>
 
@@ -825,7 +824,7 @@
 <indexterm><primary>machine accounts</primary></indexterm>
 <indexterm><primary>management tools</primary></indexterm>
 Samba provides two tools for management of user and machine accounts:
-<command>smbpasswd</command> and <command>pdbedit</command>. 
+<command>smbpasswd</command> and <command>pdbedit</command>.
 </para>
 
 <para>
@@ -851,7 +850,7 @@
 
        <sect2>
        <title>The <command>smbpasswd</command> Tool</title>
-       
+
                <para>
 <indexterm><primary>smbpasswd</primary></indexterm>
 <indexterm><primary>passwd</primary></indexterm>
@@ -894,11 +893,11 @@
                        <listitem><para><emphasis>set to NULL</emphasis> user 
passwords.</para></listitem>
                        <listitem><para><emphasis>manage</emphasis> interdomain 
trust accounts.</para></listitem>
                </itemizedlist>
-               
+
                <para>
                To run smbpasswd as a normal user, just type:
                </para>
-               
+
                <para>
 <screen>
 &prompt;<userinput>smbpasswd</userinput>
@@ -911,27 +910,27 @@
 <prompt>Repeat New SMB Password: </prompt><userinput><replaceable>new 
secret</replaceable></userinput>
 </screen>
                </para>
-               
+
                <para>
                If the old value does not match the current value stored for 
that user, or the two
                new values do not match each other, then the password will not 
be changed.
                </para>
-               
+
                <para>
 <indexterm><primary>SMB password</primary></indexterm>
                When invoked by an ordinary user, the command will allow only 
the user to change his or her own
                SMB password.
                </para>
-               
+
                <para>
 <indexterm><primary>smbpasswd</primary></indexterm>
 <indexterm><primary>SMB password</primary></indexterm>
                When run by root, <command>smbpasswd</command> may take an 
optional argument specifying
                the username whose SMB password you wish to change. When run as 
root, <command>smbpasswd</command>
-               does not prompt for or check the old password value, thus 
allowing root to set passwords 
+               does not prompt for or check the old password value, thus 
allowing root to set passwords
                for users who have forgotten their passwords.
                </para>
-               
+
                <para>
 <indexterm><primary>smbpasswd</primary></indexterm>
 <indexterm><primary>passwd</primary></indexterm>
@@ -959,7 +958,7 @@
                <indexterm><primary>account policy</primary></indexterm>
                <indexterm><primary>User 
Accounts</primary><secondary>Adding/Deleting</secondary></indexterm>
                <command>pdbedit</command> is a tool that can be used only by 
root. It is used to
-               manage the passdb backend, as well as domain-wide account 
policy settings. <command>pdbedit</command> 
+               manage the passdb backend, as well as domain-wide account 
policy settings. <command>pdbedit</command>
                can be used to:
                </para>
 
@@ -1122,10 +1121,10 @@
 
                <para>
                <indexterm><primary>pdbedit</primary></indexterm>
-<indexterm><primary>account migration</primary></indexterm>
+<indexterm><primary>account import/export</primary></indexterm>
 <indexterm><primary>passdb backend</primary></indexterm>
                One particularly important purpose of the 
<command>pdbedit</command> is to allow
-               the migration of account information from one passdb backend to 
another. 
+               the import/export of account information from one passdb 
backend to another.
                </para>
 
                <sect3>
@@ -1221,7 +1220,7 @@
 <indexterm><primary>NT password</primary></indexterm>
 <indexterm><primary>Account Flags</primary></indexterm>
 <indexterm><primary>LCT</primary><see>last change time</see></indexterm>
-               The account information that was returned by this command in 
order from left to right 
+               The account information that was returned by this command in 
order from left to right
                consists of the following colon separated data:
                </para>
 
@@ -1415,7 +1414,7 @@
 <indexterm><primary>account encode_bits</primary></indexterm>
 <indexterm><primary>account control flags</primary></indexterm>
                The Samba SAM account flags are properly called the ACB 
(account control block) within
-               the Samba source code. In some parts of the Samba source code 
they are referred to as the 
+               the Samba source code. In some parts of the Samba source code 
they are referred to as the
                account encode_bits, and also as the account control flags.
                </para>
 
@@ -1510,7 +1509,7 @@
                An example of use of the <command>pdbedit</command> utility to 
set the account control flags
                is shown here:
 <screen>
-&rootprompt; pdbedit -r -c "[DLX]" jra
+&rootprompt; pdbedit -r -c "[DLX]" jht
 Unix username:        jht
 NT username:          jht
 Account Flags:        [DHULX      ]
@@ -1537,7 +1536,7 @@
 <indexterm><primary>default settings</primary></indexterm>
        The flags can be reset to the default settings by executing:
 <screen>
-&rootprompt; pdbedit -r -c "[]" jra
+&rootprompt; pdbedit -r -c "[]" jht
 Unix username:        jht
 NT username:          jht
 Account Flags:        [U          ]
@@ -1635,7 +1634,8 @@
 <warning><para>
 Account policies must be set individually on each PDC and BDC. At this time 
(Samba 3.0.11 to Samba 3.0.14a)
 account policies are not replicated automatically. This may be fixed before 
Samba 3.0.20 ships or some
-time there after.
+time there after. Please check the WHATSNEW.txt file in the Samba-3 tarball 
for specific update notiations
+regarding this facility.
 </para></warning>
 
                </sect4>
@@ -1643,26 +1643,21 @@
                </sect3>
 
                <sect3>
-               <title>Account Migration</title>
+               <title>Account Import/Export</title>
 
                <para>
                <indexterm><primary>pdbedit</primary></indexterm>
-<indexterm><primary>migrate accounts</primary></indexterm>
+<indexterm><primary>iccount mport/export</primary></indexterm>
 <indexterm><primary>authentication</primary></indexterm>
-               The <command>pdbedit</command> tool allows migration of 
authentication (account)
-               databases from one backend to another. For example, to migrate 
accounts from an
+               The <command>pdbedit</command> tool allows import/export of 
authentication (account)
+               databases from one backend to another. For example, to 
import/export accounts from an
                old <filename>smbpasswd</filename> database to a 
<parameter>tdbsam</parameter>
                backend:
                </para>
 
                <procedure>
                        <step><para>
-                       Set the <smbconfoption name="passdb backend">tdbsam, 
smbpasswd</smbconfoption>.
-                       </para></step>
-
-                       <step><para>
 <indexterm><primary>pdbedit</primary></indexterm>
-                       Execute:
 <screen>
 &rootprompt;<userinput>pdbedit -i smbpasswd -e tdbsam</userinput>
 </screen>
@@ -1670,8 +1665,8 @@
 
                        <step><para>
 <indexterm><primary>smbpasswd</primary></indexterm>
-                       Remove the <parameter>smbpasswd</parameter> from the 
passdb backend
-                       configuration in &smb.conf;.
+                       Replace the <parameter>smbpasswd</parameter> with 
<parameter>tdbsam</parameter> in the
+                       <parameter>passdb backend</parameter> configuration in 
&smb.conf;.
                        </para></step>
                </procedure>
 
@@ -1685,26 +1680,22 @@
 <para>
 <indexterm><primary>account database</primary></indexterm>
 <indexterm><primary>SMB/CIFS server</primary></indexterm>
-Samba offers the greatest flexibility in backend account database design of 
any SMB/CIFS server
-technology available today. The flexibility is immediately obvious as one 
begins to explore this
-capability.
+Samba offers flexibility in backend account database design. The flexibility 
is immediately obvious as one
+begins to explore this capability. Recent changes to Samba (since 3.0.23) have 
removed the mulitple backend
+feature in order to simplify problems that broke some installations. This 
removal has made the internal
+operation of Samba-3 more consistent and predictable.
 </para>
 
 <para>
 <indexterm><primary>multiple backends</primary></indexterm>
 <indexterm><primary>tdbsam databases</primary></indexterm>
-It is possible to specify not only multiple password backends, but even 
multiple
-backends of the same type. For example, to use two different 
<literal>tdbsam</literal> databases:
-
-<smbconfblock>
-<smbconfoption name="passdb backend">tdbsam:/etc/samba/passdb.tdb 
tdbsam:/etc/samba/old-passdb.tdb</smbconfoption>
-</smbconfblock>
-
-What is possible is not always sensible. Be careful to avoid complexity to the 
point that it
-may be said that the solution is <quote>too clever by half!</quote>
+Beginning with Samba 3.0.23 it is no longer possible to specify use of 
mulitple passdb backends. Earlier
+versions of Samba-3 made it possible to specify multiple password backends, 
and even multiple
+backends of the same type. The multiple passdb backend capability caused many 
problems with name to SID and
+SID to name ID resolution.  The Samba team wrestled with the challenges and 
decided that this feature needed
+to be removed.
 </para>
 
-
        <sect2>
        <title>Plaintext</title>
 
@@ -1715,9 +1706,9 @@
 <indexterm><primary>password encryption</primary></indexterm>
 <indexterm><primary>/etc/passwd</primary></indexterm>
 <indexterm><primary>PAM</primary></indexterm>
-               Older versions of Samba retrieved user information from the 
UNIX user database 
+               Older versions of Samba retrieved user information from the 
UNIX user database
                and eventually some other fields from the file 
<filename>/etc/samba/smbpasswd</filename>
-               or <filename>/etc/smbpasswd</filename>. When password 
encryption is disabled, no 
+               or <filename>/etc/smbpasswd</filename>. When password 
encryption is disabled, no
                SMB-specific data is stored at all. Instead, all operations are 
conducted via the way
                that the Samba host OS will access its 
<filename>/etc/passwd</filename> database.
                On most Linux systems, for example, all user and group 
resolution is done via PAM.
@@ -1782,7 +1773,7 @@
                As a result of these deficiencies, a more robust means of 
storing user attributes
                used by smbd was developed. The API that defines access to user 
accounts
                is commonly referred to as the samdb interface (previously, 
this was called the passdb
-               API and is still so named in the Samba source code trees). 
+               API and is still so named in the Samba source code trees).
                </para>
 
                <para>
@@ -2218,7 +2209,7 @@
 <indexterm><primary>LDAP</primary></indexterm>
 <indexterm><primary>smbd</primary></indexterm>
                        The following parameters are available in &smb.conf; 
only if your version of Samba was built with
-                       LDAP support. Samba automatically builds with LDAP 
support if the LDAP libraries are found. The 
+                       LDAP support. Samba automatically builds with LDAP 
support if the LDAP libraries are found. The
                        best method to verify that Samba was built with LDAP 
support is:
 <screen>
 &rootprompt; smbd -b | grep LDAP
@@ -2256,7 +2247,7 @@
                        </para>
 
                        <para>
-                       These are described in the &smb.conf; man page and so 
are not repeated here. However, an example 
+                       These are described in the &smb.conf; man page and so 
are not repeated here. However, an example
                        for use with an LDAP directory is shown in <link 
linkend="confldapex">the Configuration with LDAP.</link>
                        </para>
 
@@ -2337,7 +2328,7 @@
                        For now, there is no NT-like group system management 
(global and local
                        groups). Samba-3 knows only about <constant>Domain 
Groups</constant>
                        and, unlike MS Windows 2000 and Active Directory, 
Samba-3 does not
-                       support nested groups. 
+                       support nested groups.
                        </para>
 
                </sect3>
@@ -2417,7 +2408,7 @@
                <title>LDAP Special Attributes for sambaSamAccounts</title>
 
                        <para> The sambaSamAccount ObjectClass is composed of 
the attributes shown in next tables: <link
-                       linkend="attribobjclPartA">Part A</link>, and <link 
linkend="attribobjclPartB">Part B</link>. 
+                       linkend="attribobjclPartA">Part A</link>, and <link 
linkend="attribobjclPartB">Part B</link>.
                        </para>
 
                        <table frame="all" id="attribobjclPartA">
@@ -2445,12 +2436,12 @@
 
                                
<row><entry><constant>sambaKickoffTime</constant></entry><entry>Specifies the 
time (UNIX time format) when the user
                                will be locked down and cannot login any 
longer. If this attribute is omitted, then the account will never expire.
-                               Using this attribute together with shadowExpire 
of the shadowAccount ObjectClass will enable accounts to        
+                               Using this attribute together with shadowExpire 
of the shadowAccount ObjectClass will enable accounts to
                                expire completely on an exact 
date.</entry></row>
 
                                
<row><entry><constant>sambaPwdCanChange</constant></entry><entry>Specifies the 
time (UNIX time format)
                                after which the user is allowed to change his 
password. If this attribute is not set, the user will be free
-                               to change his password whenever he 
wants.</entry></row> 
+                               to change his password whenever he 
wants.</entry></row>
 
                                
<row><entry><constant>sambaPwdMustChange</constant></entry><entry>Specifies the 
time (UNIX time format) when the user is
                                forced to change his password. If this value is 
set to 0, the user will have to change his password at first login.
@@ -2663,7 +2654,7 @@
 
                <para><quote>I've installed Samba, but now I can't log on with 
my UNIX account! </quote></para>
 
-               <para>Make sure your user has been added to the current Samba 
<smbconfoption name="passdb backend"/>. 
+               <para>Make sure your user has been added to the current Samba 
<smbconfoption name="passdb backend"/>.
                Read the <link linkend="acctmgmttools">Account Management 
Tools,</link> for details.</para>
 
        </sect2>

Reply via email to