Fix smb.conf.5.xml and friends:
[abartlet/samba.git/.git] / docs / docbook / smbdotconf / security / passdbbackend.xml
1 <samba:parameter name="passdb backend"
2                  context="G"
3                  advanced="1" developer="1"
4                  xmlns:samba="http://samba.org/common">
5 <listitem>
6
7     <para>This option allows the administrator to chose which backends
8     to retrieve and store passwords with. This allows (for example) both 
9     smbpasswd and tdbsam to be used without a recompile. Multiple
10     backends can be specified, separated by spaces. The backends will be
11     searched in the order they are specified. New users are always added
12     to the first backend specified. Experimental backends must still be
13     selected (eg --with-tdbsam) at configure time. </para>
14
15     <para>This parameter is in two parts, the backend's name, and a 'location'
16     string that has meaning only to that particular backed.  These are separated
17     by a : character.</para>
18
19     <para>Available backends can include:
20         <itemizedlist>
21             <listitem>
22                 <para><command moreinfo="none">smbpasswd</command> - The default smbpasswd
23                 backend. Takes a path to the smbpasswd file as an optional argument.
24                 </para>
25             </listitem>
26                         
27             <listitem>
28                 <para><command moreinfo="none">smbpasswd_nua</command> - The smbpasswd
29                 backend, but with support for 'not unix accounts'.  
30                 Takes a path to the smbpasswd file as an optional argument.</para>
31                 
32                 <para>See also <link linkend="NONUNIXACCOUNTRANGE">
33                 <parameter moreinfo="none">non unix account range</parameter></link></para>
34             </listitem>
35
36             <listitem>
37                 <para><command moreinfo="none">tdbsam</command> - The TDB based password storage
38                 backend.  Takes a path to the TDB as an optional argument (defaults to passdb.tdb 
39                 in the <link linkend="PRIVATEDIR">
40                 <parameter moreinfo="none">private dir</parameter></link> directory.</para>
41             </listitem>
42                         
43             <listitem>
44                 <para><command moreinfo="none">tdbsam_nua</command> - The TDB based password storage
45                 backend, with non unix account support.  Takes a path to the TDB as an optional argument (defaults to passdb.tdb 
46                 in the <link linkend="PRIVATEDIR">
47                 <parameter moreinfo="none">private dir</parameter></link> directory.</para>
48                 
49                 <para>See also <link linkend="NONUNIXACCOUNTRANGE">
50                 <parameter moreinfo="none">non unix account range</parameter></link></para>
51             </listitem>
52                         
53             <listitem>
54                 <para><command moreinfo="none">ldapsam</command> - The LDAP based passdb 
55                 backend.  Takes an LDAP URL as an optional argument (defaults to 
56                 <command moreinfo="none">ldap://localhost</command>)</para>
57             </listitem>
58                         
59             <listitem>
60                 <para><command moreinfo="none">ldapsam_nua</command> - The LDAP based passdb 
61                 backend, with non unix account support.  Takes an LDAP URL as an optional argument (defaults to 
62                 <command moreinfo="none">ldap://localhost</command>)</para>
63
64                 <para>Note:  In this module, any account without a matching POSIX account is regarded
65                 as 'non unix'.  </para>
66
67                 <para>See also <link linkend="NONUNIXACCOUNTRANGE">
68                 <parameter moreinfo="none">non unix account range</parameter></link></para>
69                         
70                 <para>LDAP connections should be secured where possible.  This may be done using either
71                 Start-TLS (see <link linkend="LDAPSSL"><parameter moreinfo="none">ldap ssl</parameter></link>) or by
72                 specifying <parameter moreinfo="none">ldaps://</parameter> in
73                 the URL argument. </para>
74             </listitem>
75                         
76             <listitem>
77                 <para><command moreinfo="none">nisplussam</command> -
78                 The NIS+ based passdb backend. Takes name NIS domain as
79                 an optional argument. Only works with sun NIS+ servers.
80                 </para>
81             </listitem>
82                         
83             <listitem>
84                 <para><command moreinfo="none">plugin</command> - Allows Samba to load an 
85                 arbitary passdb backend from the .so specified as a compulsary argument.
86                 </para>
87
88                 <para>Any characters after the (optional) second : are passed to the plugin
89                 for its own processing</para>
90             </listitem>
91                 
92             <listitem>
93                 <para><command moreinfo="none">unixsam</command> - Allows samba to map all (other) 
94                 available unix users</para>
95
96                 <para>This backend uses the standard unix database for retrieving users. Users included 
97                 in this pdb are NOT listed in samba user listings and users included in this pdb won't be 
98                 able to login. The use of this backend is to always be able to display the owner of a file 
99                 on the samba server - even when the user doesn't have a 'real' samba account in one of the 
100                 other passdb backends.
101                 </para>
102
103                 <para>This backend should always be the last backend listed, since it contains all users in 
104                 the unix passdb and might 'override' mappings if specified earlier. It's meant to only return 
105                 accounts for users that aren't covered by the previous backends.
106                 </para>
107             </listitem>
108         </itemizedlist>
109     </para>
110
111     <para>Default: <command moreinfo="none">passdb backend = smbpasswd unixsam</command></para>
112
113     <para>Example: <command moreinfo="none">passdb backend = tdbsam:/etc/samba/private/passdb.tdb smbpasswd:/etc/samba/smbpasswd unixsam</command></para>
114
115     <para>Example: <command moreinfo="none">passdb backend = ldapsam_nua:ldaps://ldap.example.com unixsam</command></para>
116
117     <para>Example: <command moreinfo="none">passdb backend = plugin:/usr/local/samba/lib/my_passdb.so:my_plugin_args tdbsam:/etc/samba/private/passdb.tdb</command></para>
118 </listitem>
119 </samba:parameter>