Changeset 311 for branches/samba-3.0/docs/htmldocs/Samba3-HOWTO/passdb.html
- Timestamp:
- Aug 5, 2009, 6:33:18 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/docs/htmldocs/Samba3-HOWTO/passdb.html
r286 r311 1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 11. Account Information Databases</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="The Official Samba 3. 2.x HOWTO and Reference Guide"><link rel="up" href="optional.html" title="Part III. Advanced Configuration"><link rel="prev" href="NetworkBrowsing.html" title="Chapter 10. Network Browsing"><link rel="next" href="groupmapping.html" title="Chapter 12. Group Mapping: MS Windows and UNIX"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. Account Information Databases</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="NetworkBrowsing.html">Prev</a> </td><th width="60%" align="center">Part III. Advanced Configuration</th><td width="20%" align="right"> <a accesskey="n" href="groupmapping.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="passdb"></a>Chapter 11. Account Information Databases</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="othername">R.</span> <span class="orgname">The Samba Team</span> <span class="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jelmer@samba.org">jelmer@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="orgname">Samba Team</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jht@samba.org">jht@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Gerald</span> <span class="othername">(Jerry)</span> <span class="orgname">Samba Team</span> <span class="surname">Carter</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jerry@samba.org">jerry@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Jeremy</span> <span class="orgname">Samba Team</span> <span class="surname">Allison</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jra@samba.org">jra@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Guenther</span> <span class="orgname">SuSE</span> <span class="surname">Deschner</span></h3><span class="contrib">LDAP updates</span> <div class="affiliation"><span class="orgname">SuSE<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:gd@suse.de">gd@suse.de</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Olivier (lem)</span> <span class="orgname">IDEALX</span> <span class="surname">Lemaire</span></h3><div class="affiliation"><span class="orgname">IDEALX<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:olem@IDEALX.org">olem@IDEALX.org</a>></code></p></div></div></div></div><div><p class="pubdate">May 24, 2003</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="passdb.html#id2587217">Features and Benefits</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2587253">Backward Compatibility Account Storage Systems</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2587436">New Account Storage Systems</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#passdbtech">Technical Information</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2588005">Important Notes About Security</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2588524">Mapping User Identifiers between MS Windows and UNIX</a></span></dt><dt><span class="sect2"><a href="passdb.html#idmapbackend">Mapping Common UIDs/GIDs on Distributed Machines</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2589073">Comments Regarding LDAP</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2589486">LDAP Directories and Windows Computer Accounts</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#acctmgmttools">Account Management Tools</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2589927">The smbpasswd Tool</a></span></dt><dt><span class="sect2"><a href="passdb.html#pdbeditthing">The pdbedit Tool</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#id2592452">Password Backends</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2592506">Plaintext</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2592582">smbpasswd: Encrypted Password Database</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2592848">tdbsam</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2593006">ldapsam</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#id2595539">Common Errors</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2595545">Users Cannot Logon</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2595582">Configuration of auth methods</a></span></dt></dl></dd></dl></div><p>2 <a class="indexterm" name="id25870 19"></a>3 <a class="indexterm" name="id25870 26"></a>4 <a class="indexterm" name="id25870 33"></a>5 <a class="indexterm" name="id25870 40"></a>1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 11. Account Information Databases</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="The Official Samba 3.0.x HOWTO and Reference Guide"><link rel="up" href="optional.html" title="Part III. Advanced Configuration"><link rel="prev" href="NetworkBrowsing.html" title="Chapter 10. Network Browsing"><link rel="next" href="groupmapping.html" title="Chapter 12. Group Mapping: MS Windows and UNIX"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. Account Information Databases</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="NetworkBrowsing.html">Prev</a> </td><th width="60%" align="center">Part III. Advanced Configuration</th><td width="20%" align="right"> <a accesskey="n" href="groupmapping.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="passdb"></a>Chapter 11. Account Information Databases</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="othername">R.</span> <span class="orgname">The Samba Team</span> <span class="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jelmer@samba.org">jelmer@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="orgname">Samba Team</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jht@samba.org">jht@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Gerald</span> <span class="othername">(Jerry)</span> <span class="orgname">Samba Team</span> <span class="surname">Carter</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jerry@samba.org">jerry@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Jeremy</span> <span class="orgname">Samba Team</span> <span class="surname">Allison</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jra@samba.org">jra@samba.org</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Guenther</span> <span class="orgname">SuSE</span> <span class="surname">Deschner</span></h3><span class="contrib">LDAP updates</span> <div class="affiliation"><span class="orgname">SuSE<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:gd@suse.de">gd@suse.de</a>></code></p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">Olivier (lem)</span> <span class="orgname">IDEALX</span> <span class="surname">Lemaire</span></h3><div class="affiliation"><span class="orgname">IDEALX<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:olem@IDEALX.org">olem@IDEALX.org</a>></code></p></div></div></div></div><div><p class="pubdate">May 24, 2003</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="passdb.html#id2587241">Features and Benefits</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2587278">Backward Compatibility Account Storage Systems</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2587461">New Account Storage Systems</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#passdbtech">Technical Information</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2588029">Important Notes About Security</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2588549">Mapping User Identifiers between MS Windows and UNIX</a></span></dt><dt><span class="sect2"><a href="passdb.html#idmapbackend">Mapping Common UIDs/GIDs on Distributed Machines</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2589097">Comments Regarding LDAP</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2589510">LDAP Directories and Windows Computer Accounts</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#acctmgmttools">Account Management Tools</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2589956">The smbpasswd Tool</a></span></dt><dt><span class="sect2"><a href="passdb.html#pdbeditthing">The pdbedit Tool</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#id2592503">Password Backends</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2592556">Plaintext</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2592632">smbpasswd: Encrypted Password Database</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2592899">tdbsam</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2593056">ldapsam</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#id2595581">Common Errors</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2595586">Users Cannot Logon</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2595624">Configuration of auth methods</a></span></dt></dl></dd></dl></div><p> 2 <a class="indexterm" name="id2587044"></a> 3 <a class="indexterm" name="id2587051"></a> 4 <a class="indexterm" name="id2587058"></a> 5 <a class="indexterm" name="id2587064"></a> 6 6 Early releases of Samba-3 implemented new capability to work concurrently with multiple account backends. This 7 7 capability was removed beginning with release of Samba 3.0.23. Commencing with Samba 3.0.23 it is possible to 8 8 work with only one specified passwd backend. 9 9 </p><p> 10 <a class="indexterm" name="id25870 54"></a>11 <a class="indexterm" name="id25870 61"></a>12 <a class="indexterm" name="id25870 68"></a>13 <a class="indexterm" name="id25870 75"></a>14 <a class="indexterm" name="id2587 082"></a>15 <a class="indexterm" name="id2587 088"></a>10 <a class="indexterm" name="id2587079"></a> 11 <a class="indexterm" name="id2587086"></a> 12 <a class="indexterm" name="id2587092"></a> 13 <a class="indexterm" name="id2587099"></a> 14 <a class="indexterm" name="id2587106"></a> 15 <a class="indexterm" name="id2587113"></a> 16 16 The three passdb backends that are fully maintained (actively supported) by the Samba Team are: 17 17 <code class="literal">smbpasswd</code> (being obsoleted), <code class="literal">tdbsam</code> (a tdb-based binary file format), … … 24 24 <code class="literal">ldapsam</code> for larger and more complex networks. 25 25 </p><p> 26 <a class="indexterm" name="id25871 59"></a>27 <a class="indexterm" name="id25871 66"></a>28 <a class="indexterm" name="id25871 73"></a>29 <a class="indexterm" name="id2587 180"></a>30 <a class="indexterm" name="id2587 187"></a>31 <a class="indexterm" name="id2587 194"></a>32 <a class="indexterm" name="id25872 01"></a>26 <a class="indexterm" name="id2587183"></a> 27 <a class="indexterm" name="id2587190"></a> 28 <a class="indexterm" name="id2587197"></a> 29 <a class="indexterm" name="id2587204"></a> 30 <a class="indexterm" name="id2587211"></a> 31 <a class="indexterm" name="id2587218"></a> 32 <a class="indexterm" name="id2587225"></a> 33 33 In a strict and literal sense, the passdb backends are account storage mechanisms (or methods) alone. The choice 34 34 of terminology can be misleading, however we are stuck with this choice of wording. This chapter documents the … … 36 36 machine trust accounts (computer accounts) and interdomain trust accounts. These are all treated as user-like 37 37 entities. 38 </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id25872 17"></a>Features and Benefits</h2></div></div></div><p>38 </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2587241"></a>Features and Benefits</h2></div></div></div><p> 39 39 Samba-3 provides for complete backward compatibility with Samba-2.2.x functionality 40 40 as follows: 41 <a class="indexterm" name="id2587226"></a> 42 <a class="indexterm" name="id2587236"></a> 43 <a class="indexterm" name="id2587245"></a> 44 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2587253"></a>Backward Compatibility Account Storage Systems</h3></div></div></div><div class="variablelist"><dl><dt><span class="term">Plaintext</span></dt><dd><p> 41 <a class="indexterm" name="id2587251"></a> 42 <a class="indexterm" name="id2587260"></a> 45 43 <a class="indexterm" name="id2587270"></a> 46 <a class="indexterm" name="id2587277"></a> 47 <a class="indexterm" name="id2587284"></a> 48 <a class="indexterm" name="id2587291"></a> 49 <a class="indexterm" name="id2587298"></a> 44 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2587278"></a>Backward Compatibility Account Storage Systems</h3></div></div></div><div class="variablelist"><dl><dt><span class="term">Plaintext</span></dt><dd><p> 45 <a class="indexterm" name="id2587295"></a> 46 <a class="indexterm" name="id2587302"></a> 47 <a class="indexterm" name="id2587309"></a> 48 <a class="indexterm" name="id2587315"></a> 49 <a class="indexterm" name="id2587322"></a> 50 50 This isn't really a backend at all, but is listed here for simplicity. Samba can be configured to pass 51 51 plaintext authentication requests to the traditional UNIX/Linux <code class="filename">/etc/passwd</code> and … … 55 55 password usage. 56 56 </p></dd><dt><span class="term">smbpasswd</span></dt><dd><p> 57 <a class="indexterm" name="id25873 45"></a>58 <a class="indexterm" name="id25873 51"></a>59 <a class="indexterm" name="id25873 58"></a>60 <a class="indexterm" name="id25873 65"></a>57 <a class="indexterm" name="id2587369"></a> 58 <a class="indexterm" name="id2587376"></a> 59 <a class="indexterm" name="id2587383"></a> 60 <a class="indexterm" name="id2587390"></a> 61 61 This option allows continued use of the <code class="filename">smbpasswd</code> 62 62 file that maintains a plain ASCII (text) layout that includes the MS Windows … … 70 70 versions of Samba. It may be deprecated in future releases. 71 71 </p></dd><dt><span class="term">ldapsam_compat (Samba-2.2 LDAP Compatibility)</span></dt><dd><p> 72 <a class="indexterm" name="id25874 04"></a>73 <a class="indexterm" name="id25874 11"></a>74 <a class="indexterm" name="id25874 18"></a>72 <a class="indexterm" name="id2587429"></a> 73 <a class="indexterm" name="id2587436"></a> 74 <a class="indexterm" name="id2587443"></a> 75 75 There is a password backend option that allows continued operation with 76 76 an existing OpenLDAP backend that uses the Samba-2.2.x LDAP schema extension. … … 78 78 no reason to force migration at this time. This tool will eventually 79 79 be deprecated. 80 </p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25874 36"></a>New Account Storage Systems</h3></div></div></div><p>80 </p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2587461"></a>New Account Storage Systems</h3></div></div></div><p> 81 81 Samba-3 introduces a number of new password backend capabilities. 82 <a class="indexterm" name="id25874 46"></a>83 <a class="indexterm" name="id25874 55"></a>82 <a class="indexterm" name="id2587470"></a> 83 <a class="indexterm" name="id2587479"></a> 84 84 </p><div class="variablelist"><dl><dt><span class="term">tdbsam</span></dt><dd><p> 85 <a class="indexterm" name="id2587 476"></a>86 <a class="indexterm" name="id2587 483"></a>87 <a class="indexterm" name="id2587 490"></a>85 <a class="indexterm" name="id2587500"></a> 86 <a class="indexterm" name="id2587508"></a> 87 <a class="indexterm" name="id2587514"></a> 88 88 This backend provides a rich database backend for local servers. This 89 89 backend is not suitable for multiple domain controllers (i.e., PDC + one 90 90 or more BDC) installations. 91 91 </p><p> 92 <a class="indexterm" name="id25875 02"></a>93 <a class="indexterm" name="id25875 09"></a>94 <a class="indexterm" name="id25875 16"></a>95 <a class="indexterm" name="id25875 23"></a>96 <a class="indexterm" name="id25875 30"></a>97 <a class="indexterm" name="id25875 37"></a>92 <a class="indexterm" name="id2587527"></a> 93 <a class="indexterm" name="id2587534"></a> 94 <a class="indexterm" name="id2587541"></a> 95 <a class="indexterm" name="id2587548"></a> 96 <a class="indexterm" name="id2587555"></a> 97 <a class="indexterm" name="id2587562"></a> 98 98 The <span class="emphasis"><em>tdbsam</em></span> password backend stores the old <span class="emphasis"><em> 99 99 smbpasswd</em></span> information plus the extended MS Windows NT/200x … … 103 103 with MS Windows NT4/200x-based systems. 104 104 </p><p> 105 <a class="indexterm" name="id25875 61"></a>106 <a class="indexterm" name="id25875 68"></a>107 <a class="indexterm" name="id25875 75"></a>105 <a class="indexterm" name="id2587585"></a> 106 <a class="indexterm" name="id2587592"></a> 107 <a class="indexterm" name="id2587599"></a> 108 108 The inclusion of the <span class="emphasis"><em>tdbsam</em></span> capability is a direct 109 109 response to user requests to allow simple site operation without the overhead … … 112 112 the use of OpenLDAP or of Active Directory integration is strongly recommended. 113 113 </p></dd><dt><span class="term">ldapsam</span></dt><dd><p> 114 <a class="indexterm" name="id25876 03"></a>115 <a class="indexterm" name="id25876 10"></a>114 <a class="indexterm" name="id2587628"></a> 115 <a class="indexterm" name="id2587635"></a> 116 116 This provides a rich directory backend for distributed account installation. 117 117 </p><p> 118 <a class="indexterm" name="id25876 22"></a>119 <a class="indexterm" name="id25876 29"></a>120 <a class="indexterm" name="id25876 36"></a>121 <a class="indexterm" name="id25876 42"></a>122 <a class="indexterm" name="id25876 49"></a>118 <a class="indexterm" name="id2587646"></a> 119 <a class="indexterm" name="id2587653"></a> 120 <a class="indexterm" name="id2587660"></a> 121 <a class="indexterm" name="id2587667"></a> 122 <a class="indexterm" name="id2587674"></a> 123 123 Samba-3 has a new and extended LDAP implementation that requires configuration 124 124 of OpenLDAP with a new format Samba schema. The new format schema file is 125 125 included in the <code class="filename">examples/LDAP</code> directory of the Samba distribution. 126 126 </p><p> 127 <a class="indexterm" name="id25876 71"></a>128 <a class="indexterm" name="id2587 678"></a>129 <a class="indexterm" name="id2587 685"></a>130 <a class="indexterm" name="id2587 692"></a>131 <a class="indexterm" name="id2587 699"></a>127 <a class="indexterm" name="id2587696"></a> 128 <a class="indexterm" name="id2587703"></a> 129 <a class="indexterm" name="id2587710"></a> 130 <a class="indexterm" name="id2587717"></a> 131 <a class="indexterm" name="id2587724"></a> 132 132 The new LDAP implementation significantly expands the control abilities that 133 133 were possible with prior versions of Samba. It is now possible to specify … … 136 136 requests both for capability and greater scalability. 137 137 </p></dd></dl></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="passdbtech"></a>Technical Information</h2></div></div></div><p> 138 <a class="indexterm" name="id25877 34"></a>139 <a class="indexterm" name="id25877 40"></a>138 <a class="indexterm" name="id2587758"></a> 139 <a class="indexterm" name="id2587765"></a> 140 140 Old Windows clients send plaintext passwords over the wire. Samba can check these 141 141 passwords by encrypting them and comparing them to the hash stored in the UNIX user database. 142 142 </p><p> 143 <a class="indexterm" name="id25877 54"></a>144 <a class="indexterm" name="id25877 61"></a>145 <a class="indexterm" name="id25877 68"></a>146 <a class="indexterm" name="id25877 74"></a>143 <a class="indexterm" name="id2587778"></a> 144 <a class="indexterm" name="id2587785"></a> 145 <a class="indexterm" name="id2587792"></a> 146 <a class="indexterm" name="id2587799"></a> 147 147 Newer Windows clients send encrypted passwords (LanMan and NT hashes) instead of plaintext passwords over 148 148 the wire. The newest clients will send only encrypted passwords and refuse to send plaintext passwords unless 149 149 their registry is tweaked. 150 150 </p><p> 151 <a class="indexterm" name="id2587 789"></a>152 <a class="indexterm" name="id2587 796"></a>151 <a class="indexterm" name="id2587813"></a> 152 <a class="indexterm" name="id2587820"></a> 153 153 Many people ask why Samba cannot simply use the UNIX password database. Windows requires 154 154 passwords that are encrypted in its own format. The UNIX passwords can't be converted to … … 156 156 database, and you have to store the LanMan and NT hashes somewhere else. 157 157 </p><p> 158 <a class="indexterm" name="id25878 12"></a>159 <a class="indexterm" name="id25878 19"></a>160 <a class="indexterm" name="id25878 26"></a>161 <a class="indexterm" name="id25878 33"></a>158 <a class="indexterm" name="id2587836"></a> 159 <a class="indexterm" name="id2587844"></a> 160 <a class="indexterm" name="id2587850"></a> 161 <a class="indexterm" name="id2587857"></a> 162 162 In addition to differently encrypted passwords, Windows also stores certain data for each 163 163 user that is not stored in a UNIX user database: for example, workstations the user may logon from, … … 167 167 <a class="link" href="smb.conf.5.html#PASSDBBACKEND" target="_top">passdb backend</a> parameter. 168 168 </p><div class="figure"><a name="idmap-sid2uid"></a><p class="title"><b>Figure 11.1. IDMAP: Resolution of SIDs to UIDs.</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/idmap-sid2uid.png" width="216" alt="IDMAP: Resolution of SIDs to UIDs."></div></div></div><br class="figure-break"><p> 169 <a class="indexterm" name="id25879 22"></a>170 <a class="indexterm" name="id25879 29"></a>171 <a class="indexterm" name="id25879 35"></a>169 <a class="indexterm" name="id2587947"></a> 170 <a class="indexterm" name="id2587953"></a> 171 <a class="indexterm" name="id2587960"></a> 172 172 The resolution of SIDs to UIDs is fundamental to correct operation of Samba. In both cases shown, if winbindd 173 173 is not running or cannot be contacted, then only local SID/UID resolution is possible. See <a class="link" href="passdb.html#idmap-sid2uid" title="Figure 11.1. IDMAP: Resolution of SIDs to UIDs.">resolution of SIDs to UIDs</a> and <a class="link" href="passdb.html#idmap-uid2sid" title="Figure 11.2. IDMAP: Resolution of UIDs to SIDs.">resolution of UIDs 174 174 to SIDs</a> diagrams. 175 </p><div class="figure"><a name="idmap-uid2sid"></a><p class="title"><b>Figure 11.2. IDMAP: Resolution of UIDs to SIDs.</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/idmap-uid2sid.png" width="270" alt="IDMAP: Resolution of UIDs to SIDs."></div></div></div><br class="figure-break"><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25880 05"></a>Important Notes About Security</h3></div></div></div><p>176 <a class="indexterm" name="id25880 13"></a>177 <a class="indexterm" name="id25880 20"></a>178 <a class="indexterm" name="id25880 27"></a>179 <a class="indexterm" name="id25880 34"></a>180 <a class="indexterm" name="id25880 41"></a>175 </p><div class="figure"><a name="idmap-uid2sid"></a><p class="title"><b>Figure 11.2. IDMAP: Resolution of UIDs to SIDs.</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/idmap-uid2sid.png" width="270" alt="IDMAP: Resolution of UIDs to SIDs."></div></div></div><br class="figure-break"><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2588029"></a>Important Notes About Security</h3></div></div></div><p> 176 <a class="indexterm" name="id2588037"></a> 177 <a class="indexterm" name="id2588044"></a> 178 <a class="indexterm" name="id2588052"></a> 179 <a class="indexterm" name="id2588059"></a> 180 <a class="indexterm" name="id2588065"></a> 181 181 The UNIX and SMB password encryption techniques seem similar on the surface. This 182 182 similarity is, however, only skin deep. The UNIX scheme typically sends clear-text … … 192 192 be protected accordingly. 193 193 </p><p> 194 <a class="indexterm" name="id25880 70"></a>195 <a class="indexterm" name="id2588 077"></a>196 <a class="indexterm" name="id2588 083"></a>194 <a class="indexterm" name="id2588095"></a> 195 <a class="indexterm" name="id2588101"></a> 196 <a class="indexterm" name="id2588108"></a> 197 197 Ideally, we would like a password scheme that involves neither plaintext passwords 198 198 on the network nor plaintext passwords on disk. Unfortunately, this is not available because Samba is stuck with 199 199 having to be compatible with other SMB systems (Windows NT, Windows for Workgroups, Windows 9x/Me). 200 200 </p><p> 201 <a class="indexterm" name="id2588 099"></a>202 <a class="indexterm" name="id25881 06"></a>201 <a class="indexterm" name="id2588123"></a> 202 <a class="indexterm" name="id2588130"></a> 203 203 Windows NT 4.0 Service Pack 3 changed the default setting so plaintext passwords 204 204 are disabled from being sent over the wire. This mandates either the use of encrypted 205 205 password support or editing the Windows NT registry to re-enable plaintext passwords. 206 206 </p><p> 207 <a class="indexterm" name="id25881 20"></a>208 <a class="indexterm" name="id25881 27"></a>207 <a class="indexterm" name="id2588145"></a> 208 <a class="indexterm" name="id2588152"></a> 209 209 The following versions of Microsoft Windows do not support full domain security protocols, 210 210 although they may log onto a domain environment: 211 211 </p><div class="itemizedlist"><ul type="disc"><li><p>MS DOS Network client 3.0 with the basic network redirector installed.</p></li><li><p>Windows 95 with the network redirector update installed.</p></li><li><p>Windows 98 [Second Edition].</p></li><li><p>Windows Me.</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> 212 <a class="indexterm" name="id25881 66"></a>213 <a class="indexterm" name="id25881 72"></a>214 <a class="indexterm" name="id2588 179"></a>212 <a class="indexterm" name="id2588190"></a> 213 <a class="indexterm" name="id2588197"></a> 214 <a class="indexterm" name="id2588204"></a> 215 215 MS Windows XP Home does not have facilities to become a domain member, and it cannot participate in domain logons. 216 216 </p></div><p> 217 217 The following versions of MS Windows fully support domain security protocols. 218 218 </p><div class="itemizedlist"><ul type="disc"><li><p>Windows NT 3.5x.</p></li><li><p>Windows NT 4.0.</p></li><li><p>Windows 2000 Professional.</p></li><li><p>Windows 200x Server/Advanced Server.</p></li><li><p>Windows XP Professional.</p></li></ul></div><p> 219 <a class="indexterm" name="id25882 25"></a>220 <a class="indexterm" name="id25882 31"></a>221 <a class="indexterm" name="id25882 38"></a>222 <a class="indexterm" name="id25882 45"></a>223 <a class="indexterm" name="id25882 52"></a>224 <a class="indexterm" name="id25882 59"></a>219 <a class="indexterm" name="id2588249"></a> 220 <a class="indexterm" name="id2588256"></a> 221 <a class="indexterm" name="id2588263"></a> 222 <a class="indexterm" name="id2588270"></a> 223 <a class="indexterm" name="id2588277"></a> 224 <a class="indexterm" name="id2588284"></a> 225 225 All current releases of Microsoft SMB/CIFS clients support authentication via the 226 226 SMB challenge/response mechanism described here. Enabling clear-text authentication … … 229 229 handling. 230 230 </p><p> 231 <a class="indexterm" name="id2588 275"></a>232 <a class="indexterm" name="id2588 282"></a>233 <a class="indexterm" name="id2588 289"></a>234 <a class="indexterm" name="id2588 296"></a>235 <a class="indexterm" name="id25883 03"></a>231 <a class="indexterm" name="id2588300"></a> 232 <a class="indexterm" name="id2588307"></a> 233 <a class="indexterm" name="id2588314"></a> 234 <a class="indexterm" name="id2588321"></a> 235 <a class="indexterm" name="id2588328"></a> 236 236 MS Windows clients will cache the encrypted password alone. Where plaintext passwords 237 237 are re-enabled through the appropriate registry change, the plaintext password is never … … 240 240 effect an auto-reconnect. If the resource server does not support encrypted passwords, the 241 241 auto-reconnect will fail. Use of encrypted passwords is strongly advised. 242 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25883 20"></a>Advantages of Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>243 <a class="indexterm" name="id25883 31"></a>244 <a class="indexterm" name="id25883 38"></a>245 <a class="indexterm" name="id25883 45"></a>242 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2588344"></a>Advantages of Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p> 243 <a class="indexterm" name="id2588356"></a> 244 <a class="indexterm" name="id2588363"></a> 245 <a class="indexterm" name="id2588370"></a> 246 246 Plaintext passwords are not passed across the network. Someone using a network sniffer 247 247 cannot just record passwords going to the SMB server. 248 248 </p></li><li><p> 249 <a class="indexterm" name="id25883 59"></a>250 <a class="indexterm" name="id25883 66"></a>251 <a class="indexterm" name="id25883 73"></a>249 <a class="indexterm" name="id2588384"></a> 250 <a class="indexterm" name="id2588390"></a> 251 <a class="indexterm" name="id2588397"></a> 252 252 Plaintext passwords are not stored anywhere in memory or on disk. 253 253 </p></li><li><p> 254 <a class="indexterm" name="id2588 385"></a>255 <a class="indexterm" name="id2588 392"></a>256 <a class="indexterm" name="id2588 399"></a>257 <a class="indexterm" name="id25884 06"></a>254 <a class="indexterm" name="id2588410"></a> 255 <a class="indexterm" name="id2588417"></a> 256 <a class="indexterm" name="id2588424"></a> 257 <a class="indexterm" name="id2588430"></a> 258 258 Windows NT does not like talking to a server that does not support encrypted passwords. It will refuse to 259 259 browse the server if the server is also in user-level security mode. It will insist on prompting the user for … … 261 261 encryption. 262 262 </p></li><li><p> 263 <a class="indexterm" name="id25884 23"></a>264 <a class="indexterm" name="id25884 30"></a>263 <a class="indexterm" name="id2588448"></a> 264 <a class="indexterm" name="id2588455"></a> 265 265 Encrypted password support allows automatic share (resource) reconnects. 266 266 </p></li><li><p> 267 <a class="indexterm" name="id25884 43"></a>268 <a class="indexterm" name="id25884 50"></a>267 <a class="indexterm" name="id2588468"></a> 268 <a class="indexterm" name="id2588474"></a> 269 269 Encrypted passwords are essential for PDC/BDC operation. 270 </p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25884 60"></a>Advantages of Non-Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>271 <a class="indexterm" name="id25884 72"></a>270 </p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2588485"></a>Advantages of Non-Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p> 271 <a class="indexterm" name="id2588496"></a> 272 272 Plaintext passwords are not kept on disk and are not cached in memory. 273 273 </p></li><li><p> 274 <a class="indexterm" name="id2588 485"></a>275 <a class="indexterm" name="id2588 491"></a>274 <a class="indexterm" name="id2588509"></a> 275 <a class="indexterm" name="id2588516"></a> 276 276 Plaintext passwords use the same password file as other UNIX services, such as Login and FTP. 277 277 </p></li><li><p> 278 <a class="indexterm" name="id25885 04"></a>279 <a class="indexterm" name="id25885 11"></a>278 <a class="indexterm" name="id2588529"></a> 279 <a class="indexterm" name="id2588535"></a> 280 280 Use of other services (such as Telnet and FTP) that send plaintext passwords over 281 281 the network makes sending them for SMB not such a big deal. 282 </p></li></ul></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25885 24"></a>Mapping User Identifiers between MS Windows and UNIX</h3></div></div></div><p>283 <a class="indexterm" name="id25885 33"></a>284 <a class="indexterm" name="id25885 39"></a>285 <a class="indexterm" name="id25885 46"></a>282 </p></li></ul></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2588549"></a>Mapping User Identifiers between MS Windows and UNIX</h3></div></div></div><p> 283 <a class="indexterm" name="id2588557"></a> 284 <a class="indexterm" name="id2588564"></a> 285 <a class="indexterm" name="id2588570"></a> 286 286 Every operation in UNIX/Linux requires a user identifier (UID), just as in 287 287 MS Windows NT4/200x this requires a security identifier (SID). Samba provides 288 288 two means for mapping an MS Windows user to a UNIX/Linux UID. 289 289 </p><p> 290 <a class="indexterm" name="id25885 60"></a>291 <a class="indexterm" name="id25885 67"></a>292 <a class="indexterm" name="id25885 73"></a>293 <a class="indexterm" name="id2588 580"></a>294 <a class="indexterm" name="id2588 587"></a>290 <a class="indexterm" name="id2588584"></a> 291 <a class="indexterm" name="id2588591"></a> 292 <a class="indexterm" name="id2588598"></a> 293 <a class="indexterm" name="id2588604"></a> 294 <a class="indexterm" name="id2588611"></a> 295 295 First, all Samba SAM database accounts require a UNIX/Linux UID that the account will map to. As users are 296 296 added to the account information database, Samba will call the <a class="link" href="smb.conf.5.html#ADDUSERSCRIPT" target="_top">add user script</a> … … 298 298 user account. 299 299 </p><p> 300 <a class="indexterm" name="id25886 16"></a>301 <a class="indexterm" name="id25886 22"></a>302 <a class="indexterm" name="id25886 29"></a>303 <a class="indexterm" name="id25886 35"></a>304 <a class="indexterm" name="id25886 42"></a>305 <a class="indexterm" name="id25886 49"></a>306 <a class="indexterm" name="id25886 56"></a>300 <a class="indexterm" name="id2588640"></a> 301 <a class="indexterm" name="id2588647"></a> 302 <a class="indexterm" name="id2588653"></a> 303 <a class="indexterm" name="id2588660"></a> 304 <a class="indexterm" name="id2588666"></a> 305 <a class="indexterm" name="id2588673"></a> 306 <a class="indexterm" name="id2588680"></a> 307 307 The second way to map Windows SID to UNIX UID is via the <span class="emphasis"><em>idmap uid</em></span> and 308 308 <span class="emphasis"><em>idmap gid</em></span> parameters in <code class="filename">smb.conf</code>. Please refer to the man page for information about … … 310 310 or a member of a foreign domain) SAM server. 311 311 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="idmapbackend"></a>Mapping Common UIDs/GIDs on Distributed Machines</h3></div></div></div><p> 312 <a class="indexterm" name="id2588 695"></a>313 <a class="indexterm" name="id25887 02"></a>314 <a class="indexterm" name="id25887 08"></a>315 <a class="indexterm" name="id25887 15"></a>316 <a class="indexterm" name="id25887 22"></a>317 <a class="indexterm" name="id25887 28"></a>312 <a class="indexterm" name="id2588720"></a> 313 <a class="indexterm" name="id2588726"></a> 314 <a class="indexterm" name="id2588733"></a> 315 <a class="indexterm" name="id2588739"></a> 316 <a class="indexterm" name="id2588746"></a> 317 <a class="indexterm" name="id2588753"></a> 318 318 Samba-3 has a special facility that makes it possible to maintain identical UIDs and GIDs 319 319 on all servers in a distributed network. A distributed network is one where there exists … … 322 322 users are copying files across UNIX/Linux systems using tools such as <code class="literal">rsync</code>. 323 323 </p><p> 324 <a class="indexterm" name="id25887 52"></a>325 <a class="indexterm" name="id25887 58"></a>326 <a class="indexterm" name="id25887 65"></a>327 <a class="indexterm" name="id25887 72"></a>328 <a class="indexterm" name="id2588 778"></a>329 <a class="indexterm" name="id2588 785"></a>330 <a class="indexterm" name="id2588 792"></a>331 <a class="indexterm" name="id2588 799"></a>324 <a class="indexterm" name="id2588776"></a> 325 <a class="indexterm" name="id2588783"></a> 326 <a class="indexterm" name="id2588790"></a> 327 <a class="indexterm" name="id2588796"></a> 328 <a class="indexterm" name="id2588803"></a> 329 <a class="indexterm" name="id2588809"></a> 330 <a class="indexterm" name="id2588815"></a> 331 <a class="indexterm" name="id2588822"></a> 332 332 The special facility is enabled using a parameter called <em class="parameter"><code>idmap backend</code></em>. 333 333 The default setting for this parameter is an empty string. Technically it is possible to use … … 336 336 <a class="link" href="passdb.html#idmapbackendexample" title="Example 11.1. Example Configuration with the LDAP idmap Backend">Example Configuration with the LDAP idmap Backend</a> 337 337 shows that configuration. 338 </p><a class="indexterm" name="id25888 27"></a><div class="example"><a name="idmapbackendexample"></a><p class="title"><b>Example 11.1. Example Configuration with the LDAP idmap Backend</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2588861"></a><em class="parameter"><code>idmap backend = ldap:ldap://ldap-server.quenya.org:636</code></em></td></tr><tr><td># Alternatively, this could be specified as:</td></tr><tr><td><a class="indexterm" name="id2588877"></a><em class="parameter"><code>idmap backend = ldap:ldaps://ldap-server.quenya.org</code></em></td></tr></table></div></div><br class="example-break"><p>339 <a class="indexterm" name="id2588 892"></a>340 <a class="indexterm" name="id2588 899"></a>338 </p><a class="indexterm" name="id2588851"></a><div class="example"><a name="idmapbackendexample"></a><p class="title"><b>Example 11.1. Example Configuration with the LDAP idmap Backend</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2588885"></a><em class="parameter"><code>idmap backend = ldap:ldap://ldap-server.quenya.org:636</code></em></td></tr><tr><td># Alternatively, this could be specified as:</td></tr><tr><td><a class="indexterm" name="id2588901"></a><em class="parameter"><code>idmap backend = ldap:ldaps://ldap-server.quenya.org</code></em></td></tr></table></div></div><br class="example-break"><p> 339 <a class="indexterm" name="id2588917"></a> 340 <a class="indexterm" name="id2588924"></a> 341 341 A network administrator who wants to make significant use of LDAP backends will sooner or later be 342 342 exposed to the excellent work done by PADL Software. PADL <a class="ulink" href="http://www.padl.com" target="_top">http://www.padl.com</a> have 343 343 produced and released to open source an array of tools that might be of interest. These tools include: 344 344 </p><div class="itemizedlist"><ul type="disc"><li><p> 345 <a class="indexterm" name="id25889 23"></a>346 <a class="indexterm" name="id25889 30"></a>347 <a class="indexterm" name="id25889 36"></a>348 <a class="indexterm" name="id25889 43"></a>349 <a class="indexterm" name="id25889 50"></a>350 <a class="indexterm" name="id25889 57"></a>351 <a class="indexterm" name="id25889 64"></a>352 <a class="indexterm" name="id25889 70"></a>345 <a class="indexterm" name="id2588947"></a> 346 <a class="indexterm" name="id2588954"></a> 347 <a class="indexterm" name="id2588961"></a> 348 <a class="indexterm" name="id2588968"></a> 349 <a class="indexterm" name="id2588974"></a> 350 <a class="indexterm" name="id2588981"></a> 351 <a class="indexterm" name="id2588988"></a> 352 <a class="indexterm" name="id2588995"></a> 353 353 <span class="emphasis"><em>nss_ldap:</em></span> An LDAP name service switch (NSS) module to provide native 354 354 name service support for AIX, Linux, Solaris, and other operating systems. This tool 355 355 can be used for centralized storage and retrieval of UIDs and GIDs. 356 356 </p></li><li><p> 357 <a class="indexterm" name="id258 8990"></a>358 <a class="indexterm" name="id258 8997"></a>359 <a class="indexterm" name="id25890 04"></a>360 <a class="indexterm" name="id25890 10"></a>357 <a class="indexterm" name="id2589015"></a> 358 <a class="indexterm" name="id2589022"></a> 359 <a class="indexterm" name="id2589028"></a> 360 <a class="indexterm" name="id2589035"></a> 361 361 <span class="emphasis"><em>pam_ldap:</em></span> A PAM module that provides LDAP integration for UNIX/Linux 362 362 system access authentication. 363 363 </p></li><li><p> 364 <a class="indexterm" name="id25890 29"></a>365 <a class="indexterm" name="id25890 36"></a>366 <a class="indexterm" name="id25890 43"></a>367 <a class="indexterm" name="id25890 50"></a>364 <a class="indexterm" name="id2589054"></a> 365 <a class="indexterm" name="id2589060"></a> 366 <a class="indexterm" name="id2589067"></a> 367 <a class="indexterm" name="id2589074"></a> 368 368 <span class="emphasis"><em>idmap_ad:</em></span> An IDMAP backend that supports the Microsoft Services for 369 369 UNIX RFC 2307 schema available from the PADL Web 370 370 <a class="ulink" href="http://www.padl.com/download/xad_oss_plugins.tar.gz" target="_top">site</a>. 371 </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25890 73"></a>Comments Regarding LDAP</h3></div></div></div><p>372 <a class="indexterm" name="id2589 081"></a>373 <a class="indexterm" name="id2589 090"></a>374 <a class="indexterm" name="id2589 097"></a>375 <a class="indexterm" name="id25891 04"></a>371 </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589097"></a>Comments Regarding LDAP</h3></div></div></div><p> 372 <a class="indexterm" name="id2589105"></a> 373 <a class="indexterm" name="id2589114"></a> 374 <a class="indexterm" name="id2589121"></a> 375 <a class="indexterm" name="id2589128"></a> 376 376 There is much excitement and interest in LDAP directories in the information technology world 377 377 today. The LDAP architecture was designed to be highly scalable. It was also designed for … … 380 380 Identity Management (FIM) solutions that can underlie a corporate Single Sign-On (SSO) environment. 381 381 </p><p> 382 <a class="indexterm" name="id25891 22"></a>383 <a class="indexterm" name="id25891 28"></a>384 <a class="indexterm" name="id25891 35"></a>385 <a class="indexterm" name="id25891 42"></a>382 <a class="indexterm" name="id2589146"></a> 383 <a class="indexterm" name="id2589153"></a> 384 <a class="indexterm" name="id2589160"></a> 385 <a class="indexterm" name="id2589166"></a> 386 386 LDAP implementations have been built across a wide variety of platforms. It lies at the core of Microsoft 387 387 Windows Active Directory services (ADS), Novell's eDirectory, as well as many others. Implementation of the … … 389 389 depend on some form of authentication services. 390 390 </p><p> 391 <a class="indexterm" name="id25891 58"></a>392 <a class="indexterm" name="id25891 65"></a>393 <a class="indexterm" name="id25891 72"></a>394 <a class="indexterm" name="id2589 179"></a>395 <a class="indexterm" name="id2589 186"></a>396 <a class="indexterm" name="id2589 193"></a>397 <a class="indexterm" name="id25892 00"></a>398 <a class="indexterm" name="id25892 07"></a>399 <a class="indexterm" name="id25892 14"></a>400 <a class="indexterm" name="id25892 20"></a>401 <a class="indexterm" name="id25892 27"></a>402 <a class="indexterm" name="id25892 34"></a>403 <a class="indexterm" name="id25892 41"></a>404 <a class="indexterm" name="id25892 48"></a>391 <a class="indexterm" name="id2589183"></a> 392 <a class="indexterm" name="id2589190"></a> 393 <a class="indexterm" name="id2589196"></a> 394 <a class="indexterm" name="id2589203"></a> 395 <a class="indexterm" name="id2589210"></a> 396 <a class="indexterm" name="id2589217"></a> 397 <a class="indexterm" name="id2589224"></a> 398 <a class="indexterm" name="id2589231"></a> 399 <a class="indexterm" name="id2589238"></a> 400 <a class="indexterm" name="id2589245"></a> 401 <a class="indexterm" name="id2589252"></a> 402 <a class="indexterm" name="id2589259"></a> 403 <a class="indexterm" name="id2589266"></a> 404 <a class="indexterm" name="id2589272"></a> 405 405 UNIX services can utilize LDAP directory information for authentication and access controls 406 406 through intermediate tools and utilities. The total environment that consists of the LDAP directory … … 411 411 and also Samba. 412 412 </p><p> 413 <a class="indexterm" name="id25892 68"></a>414 <a class="indexterm" name="id25892 75"></a>415 <a class="indexterm" name="id2589 282"></a>416 <a class="indexterm" name="id2589 289"></a>417 <a class="indexterm" name="id2589 296"></a>418 <a class="indexterm" name="id25893 02"></a>413 <a class="indexterm" name="id2589293"></a> 414 <a class="indexterm" name="id2589299"></a> 415 <a class="indexterm" name="id2589306"></a> 416 <a class="indexterm" name="id2589313"></a> 417 <a class="indexterm" name="id2589320"></a> 418 <a class="indexterm" name="id2589327"></a> 419 419 Many sites are installing LDAP for the first time in order to provide a scalable passdb backend 420 420 for Samba. Others are faced with the need to adapt an existing LDAP directory to new uses such … … 424 424 information systems management costs. 425 425 </p><p> 426 <a class="indexterm" name="id25893 21"></a>427 <a class="indexterm" name="id25893 28"></a>426 <a class="indexterm" name="id2589346"></a> 427 <a class="indexterm" name="id2589353"></a> 428 428 Do not rush into an LDAP deployment. Take the time to understand how the design of the Directory 429 429 Information Tree (DIT) may impact current and future site needs, as well as the ability to meet … … 432 432 first implementations create awakening, second implementations of LDAP create fear, and 433 433 third-generation deployments bring peace and tranquility. 434 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25893 48"></a>Caution Regarding LDAP and Samba</h4></div></div></div><p>435 <a class="indexterm" name="id25893 56"></a>436 <a class="indexterm" name="id25893 63"></a>437 <a class="indexterm" name="id25893 70"></a>438 <a class="indexterm" name="id2589 377"></a>439 <a class="indexterm" name="id2589 384"></a>440 <a class="indexterm" name="id2589 391"></a>441 <a class="indexterm" name="id2589 398"></a>434 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2589373"></a>Caution Regarding LDAP and Samba</h4></div></div></div><p> 435 <a class="indexterm" name="id2589381"></a> 436 <a class="indexterm" name="id2589388"></a> 437 <a class="indexterm" name="id2589395"></a> 438 <a class="indexterm" name="id2589402"></a> 439 <a class="indexterm" name="id2589409"></a> 440 <a class="indexterm" name="id2589416"></a> 441 <a class="indexterm" name="id2589423"></a> 442 442 Samba requires UNIX POSIX identity information as well as a place to store information that is 443 443 specific to Samba and the Windows networking environment. The most used information that must … … 445 445 trust accounts, and intermediate information specific to Samba internals. 446 446 </p><p> 447 <a class="indexterm" name="id25894 15"></a>448 <a class="indexterm" name="id25894 22"></a>449 <a class="indexterm" name="id25894 29"></a>447 <a class="indexterm" name="id2589439"></a> 448 <a class="indexterm" name="id2589446"></a> 449 <a class="indexterm" name="id2589453"></a> 450 450 The example deployment guidelines in this book, as well as other books and HOWTO documents 451 451 available from the internet may not fit with established directory designs and implementations. … … 454 454 the LDAP directory for use with Samba may not suit your needs. 455 455 </p><p> 456 <a class="indexterm" name="id25894 46"></a>456 <a class="indexterm" name="id2589471"></a> 457 457 It is not uncommon, for sites that have existing LDAP DITs to find necessity to generate a 458 458 set of site-specific scripts and utilities to make it possible to deploy Samba within the … … 462 462 into deployment. 463 463 </p><p> 464 <a class="indexterm" name="id25894 65"></a>465 <a class="indexterm" name="id25894 71"></a>464 <a class="indexterm" name="id2589489"></a> 465 <a class="indexterm" name="id2589496"></a> 466 466 Above all, do not blindly use scripts and tools that are not suitable for your site. Check 467 467 and validate all scripts before you execute them to make sure that the existing infrastructure 468 468 will not be damaged by inadvertent use of an inappropriate tool. 469 </p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589 486"></a>LDAP Directories and Windows Computer Accounts</h3></div></div></div><p>470 <a class="indexterm" name="id2589 494"></a>471 <a class="indexterm" name="id25895 01"></a>472 <a class="indexterm" name="id25895 08"></a>469 </p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589510"></a>LDAP Directories and Windows Computer Accounts</h3></div></div></div><p> 470 <a class="indexterm" name="id2589519"></a> 471 <a class="indexterm" name="id2589526"></a> 472 <a class="indexterm" name="id2589532"></a> 473 473 Samba doesn't provide a turnkey solution to LDAP. It is best to deal with the design and 474 474 configuration of an LDAP directory prior to integration with Samba. A working knowledge … … 476 476 it a frustrating experience. 477 477 </p><p> 478 <a class="indexterm" name="id25895 24"></a>479 <a class="indexterm" name="id25895 30"></a>480 <a class="indexterm" name="id25895 37"></a>478 <a class="indexterm" name="id2589548"></a> 479 <a class="indexterm" name="id2589555"></a> 480 <a class="indexterm" name="id2589562"></a> 481 481 Computer (machine) accounts can be placed wherever you like in an LDAP directory subject 482 482 to some constraints that are described in this chapter. 483 483 </p><p> 484 <a class="indexterm" name="id25895 50"></a>485 <a class="indexterm" name="id25895 57"></a>486 <a class="indexterm" name="id25895 64"></a>487 <a class="indexterm" name="id25895 71"></a>488 <a class="indexterm" name="id2589 578"></a>489 <a class="indexterm" name="id2589 585"></a>490 <a class="indexterm" name="id2589 592"></a>484 <a class="indexterm" name="id2589574"></a> 485 <a class="indexterm" name="id2589581"></a> 486 <a class="indexterm" name="id2589588"></a> 487 <a class="indexterm" name="id2589595"></a> 488 <a class="indexterm" name="id2589602"></a> 489 <a class="indexterm" name="id2589609"></a> 490 <a class="indexterm" name="id2589616"></a> 491 491 The POSIX and sambaSamAccount components of computer (machine) accounts are both used by Samba. 492 492 Thus, machine accounts are treated inside Samba in the same way that Windows NT4/200X treats 493 them. A user account and a machine account are indistin quishable from each other, except that493 them. A user account and a machine account are indistinguishable from each other, except that 494 494 the machine account ends in a $ character, as do trust accounts. 495 495 </p><p> 496 <a class="indexterm" name="id25896 08"></a>497 <a class="indexterm" name="id25896 15"></a>498 <a class="indexterm" name="id25896 21"></a>499 <a class="indexterm" name="id25896 28"></a>500 <a class="indexterm" name="id25896 35"></a>496 <a class="indexterm" name="id2589632"></a> 497 <a class="indexterm" name="id2589639"></a> 498 <a class="indexterm" name="id2589646"></a> 499 <a class="indexterm" name="id2589653"></a> 500 <a class="indexterm" name="id2589659"></a> 501 501 The need for Windows user, group, machine, trust, and other accounts to be tied to a valid UNIX 502 502 UID is a design decision that was made a long way back in the history of Samba development. It … … 504 504 Samba-3.x series. 505 505 </p><p> 506 <a class="indexterm" name="id25896 50"></a>507 <a class="indexterm" name="id25896 57"></a>508 <a class="indexterm" name="id25896 63"></a>506 <a class="indexterm" name="id2589680"></a> 507 <a class="indexterm" name="id2589686"></a> 508 <a class="indexterm" name="id2589693"></a> 509 509 The resolution of a UID from the Windows SID is achieved within Samba through a mechanism that 510 510 must refer back to the host operating system on which Samba is running. The NSS is the preferred … … 512 512 host OS it runs on. 513 513 </p><p> 514 <a class="indexterm" name="id2589 678"></a>515 <a class="indexterm" name="id2589 685"></a>516 <a class="indexterm" name="id2589 692"></a>517 <a class="indexterm" name="id2589 698"></a>518 <a class="indexterm" name="id25897 05"></a>519 <a class="indexterm" name="id25897 12"></a>520 <a class="indexterm" name="id25897 19"></a>514 <a class="indexterm" name="id2589708"></a> 515 <a class="indexterm" name="id2589714"></a> 516 <a class="indexterm" name="id2589721"></a> 517 <a class="indexterm" name="id2589728"></a> 518 <a class="indexterm" name="id2589735"></a> 519 <a class="indexterm" name="id2589741"></a> 520 <a class="indexterm" name="id2589748"></a> 521 521 Samba asks the host OS to provide a UID via the “<span class="quote">passwd</span>”, “<span class="quote">shadow</span>”, 522 522 and “<span class="quote">group</span>” facilities in the NSS control (configuration) file. The best tool … … 526 526 all account entities can be located in an LDAP directory. 527 527 </p><p> 528 <a class="indexterm" name="id25897 47"></a>529 <a class="indexterm" name="id25897 54"></a>530 <a class="indexterm" name="id25897 60"></a>531 <a class="indexterm" name="id25897 67"></a>532 <a class="indexterm" name="id2589 774"></a>528 <a class="indexterm" name="id2589776"></a> 529 <a class="indexterm" name="id2589783"></a> 530 <a class="indexterm" name="id2589790"></a> 531 <a class="indexterm" name="id2589797"></a> 532 <a class="indexterm" name="id2589803"></a> 533 533 For many the weapon of choice is to use the PADL nss_ldap utility. This utility must 534 534 be configured so that computer accounts can be resolved to a POSIX/UNIX account UID. That … … 537 537 of an LDAP directory is a complex subject that is beyond the scope of this documentation. 538 538 </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="acctmgmttools"></a>Account Management Tools</h2></div></div></div><p> 539 <a class="indexterm" name="id25898 04"></a>540 <a class="indexterm" name="id25898 11"></a>541 <a class="indexterm" name="id25898 18"></a>539 <a class="indexterm" name="id2589834"></a> 540 <a class="indexterm" name="id2589841"></a> 541 <a class="indexterm" name="id2589847"></a> 542 542 Samba provides two tools for management of user and machine accounts: 543 543 <code class="literal">smbpasswd</code> and <code class="literal">pdbedit</code>. 544 544 </p><p> 545 <a class="indexterm" name="id25898 41"></a>546 <a class="indexterm" name="id25898 48"></a>547 <a class="indexterm" name="id25898 54"></a>545 <a class="indexterm" name="id2589870"></a> 546 <a class="indexterm" name="id2589877"></a> 547 <a class="indexterm" name="id2589884"></a> 548 548 The <code class="literal">pdbedit</code> can be used to manage account policies in addition to 549 549 Samba user account information. The policy management capability is used to administer … … 551 551 attempts. 552 552 </p><p> 553 <a class="indexterm" name="id2589 875"></a>554 <a class="indexterm" name="id2589 882"></a>555 <a class="indexterm" name="id2589 888"></a>556 <a class="indexterm" name="id2589 895"></a>553 <a class="indexterm" name="id2589904"></a> 554 <a class="indexterm" name="id2589911"></a> 555 <a class="indexterm" name="id2589918"></a> 556 <a class="indexterm" name="id2589925"></a> 557 557 Some people are confused when reference is made to <code class="literal">smbpasswd</code> because the 558 558 name refers to a storage mechanism for SambaSAMAccount information, but it is also the name 559 559 of a utility tool. That tool is destined to eventually be replaced by new functionality that 560 560 is being added to the <code class="literal">net</code> toolset (see <a class="link" href="NetCommand.html" title="Chapter 13. Remote and Local Management: The Net Command">the Net Command</a>. 561 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25899 27"></a>The <code class="literal">smbpasswd</code> Tool</h3></div></div></div><p>562 <a class="indexterm" name="id25899 40"></a>563 <a class="indexterm" name="id25899 47"></a>564 <a class="indexterm" name="id25899 54"></a>565 <a class="indexterm" name="id25899 60"></a>566 <a class="indexterm" name="id25899 67"></a>561 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589956"></a>The <code class="literal">smbpasswd</code> Tool</h3></div></div></div><p> 562 <a class="indexterm" name="id2589970"></a> 563 <a class="indexterm" name="id2589976"></a> 564 <a class="indexterm" name="id2589983"></a> 565 <a class="indexterm" name="id2589990"></a> 566 <a class="indexterm" name="id2589997"></a> 567 567 The <code class="literal">smbpasswd</code> utility is similar to the <code class="literal">passwd</code> 568 568 and <code class="literal">yppasswd</code> programs. It maintains the two 32 byte password … … 571 571 backend</code></em> in the <code class="filename">smb.conf</code> file. 572 572 </p><p> 573 <a class="indexterm" name="id25900 11"></a>574 <a class="indexterm" name="id25900 18"></a>573 <a class="indexterm" name="id2590041"></a> 574 <a class="indexterm" name="id2590048"></a> 575 575 <code class="literal">smbpasswd</code> works in a client-server mode where it contacts the 576 576 local smbd to change the user's password on its behalf. This has enormous benefits. 577 577 </p><p> 578 <a class="indexterm" name="id25900 37"></a>579 <a class="indexterm" name="id25900 43"></a>578 <a class="indexterm" name="id2590066"></a> 579 <a class="indexterm" name="id2590073"></a> 580 580 <code class="literal">smbpasswd</code> has the capability to change passwords on Windows NT 581 581 servers (this only works when the request is sent to the NT PDC if changing an NT 582 582 domain user's password). 583 583 </p><p> 584 <a class="indexterm" name="id25900 62"></a>585 <a class="indexterm" name="id25900 69"></a>584 <a class="indexterm" name="id2590092"></a> 585 <a class="indexterm" name="id2590099"></a> 586 586 <code class="literal">smbpasswd</code> can be used to: 587 587 </p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>add</em></span> user or machine accounts.</p></li><li><p><span class="emphasis"><em>delete</em></span> user or machine accounts.</p></li><li><p><span class="emphasis"><em>enable</em></span> user or machine accounts.</p></li><li><p><span class="emphasis"><em>disable</em></span> user or machine accounts.</p></li><li><p><span class="emphasis"><em>set to NULL</em></span> user passwords.</p></li><li><p><span class="emphasis"><em>manage</em></span> interdomain trust accounts.</p></li></ul></div><p> … … 602 602 new values do not match each other, then the password will not be changed. 603 603 </p><p> 604 <a class="indexterm" name="id25902 09"></a>604 <a class="indexterm" name="id2590239"></a> 605 605 When invoked by an ordinary user, the command will allow only the user to change his or her own 606 606 SMB password. 607 607 </p><p> 608 <a class="indexterm" name="id25902 22"></a>609 <a class="indexterm" name="id25902 28"></a>608 <a class="indexterm" name="id2590251"></a> 609 <a class="indexterm" name="id2590258"></a> 610 610 When run by root, <code class="literal">smbpasswd</code> may take an optional argument specifying 611 611 the username whose SMB password you wish to change. When run as root, <code class="literal">smbpasswd</code> … … 613 613 for users who have forgotten their passwords. 614 614 </p><p> 615 <a class="indexterm" name="id25902 55"></a>616 <a class="indexterm" name="id25902 62"></a>617 <a class="indexterm" name="id25902 69"></a>618 <a class="indexterm" name="id2590 275"></a>615 <a class="indexterm" name="id2590285"></a> 616 <a class="indexterm" name="id2590291"></a> 617 <a class="indexterm" name="id2590298"></a> 618 <a class="indexterm" name="id2590305"></a> 619 619 <code class="literal">smbpasswd</code> is designed to work in the way familiar to UNIX 620 620 users who use the <code class="literal">passwd</code> or <code class="literal">yppasswd</code> commands. … … 622 622 password change capabilities. 623 623 </p><p> 624 <a class="indexterm" name="id25903 07"></a>624 <a class="indexterm" name="id2590336"></a> 625 625 For more details on using <code class="literal">smbpasswd</code>, refer to the man page (the 626 626 definitive reference). 627 627 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="pdbeditthing"></a>The <code class="literal">pdbedit</code> Tool</h3></div></div></div><p> 628 <a class="indexterm" name="id25903 41"></a>629 <a class="indexterm" name="id25903 48"></a>630 <a class="indexterm" name="id25903 54"></a>631 <a class="indexterm" name="id25903 61"></a>628 <a class="indexterm" name="id2590371"></a> 629 <a class="indexterm" name="id2590377"></a> 630 <a class="indexterm" name="id2590384"></a> 631 <a class="indexterm" name="id2590391"></a> 632 632 <code class="literal">pdbedit</code> is a tool that can be used only by root. It is used to 633 633 manage the passdb backend, as well as domain-wide account policy settings. <code class="literal">pdbedit</code> 634 634 can be used to: 635 635 </p><div class="itemizedlist"><ul type="disc"><li><p>add, remove, or modify user accounts.</p></li><li><p>list user accounts.</p></li><li><p>migrate user accounts.</p></li><li><p>migrate group accounts.</p></li><li><p>manage account policies.</p></li><li><p>manage domain access policy settings.</p></li></ul></div><p> 636 <a class="indexterm" name="id25904 21"></a>636 <a class="indexterm" name="id2590450"></a> 637 637 Under the terms of the Sarbanes-Oxley Act of 2002, American businesses and organizations are mandated to 638 638 implement a series of <code class="literal">internal controls</code> and procedures to communicate, store, … … 640 640 </p><div class="orderedlist"><ol type="1"><li><p>Who has access to information systems that store financial data.</p></li><li><p>How personal and financial information is treated among employees and business 641 641 partners.</p></li><li><p>How security vulnerabilities are managed.</p></li><li><p>Security and patch level maintenance for all information systems.</p></li><li><p>How information systems changes are documented and tracked.</p></li><li><p>How information access controls are implemented and managed.</p></li><li><p>Auditability of all information systems in respect of change and security.</p></li><li><p>Disciplinary procedures and controls to ensure privacy.</p></li></ol></div><p> 642 <a class="indexterm" name="id2590 493"></a>643 <a class="indexterm" name="id25905 00"></a>642 <a class="indexterm" name="id2590523"></a> 643 <a class="indexterm" name="id2590530"></a> 644 644 In short, the Sarbanes-Oxley Act of 2002 is an instrument that enforces accountability in respect of 645 645 business related information systems so as to ensure the compliance of all information systems that … … 647 647 accountabilities are being demanded around the world. 648 648 </p><p> 649 <a class="indexterm" name="id25905 16"></a>650 <a class="indexterm" name="id25905 23"></a>651 <a class="indexterm" name="id25905 30"></a>652 <a class="indexterm" name="id25905 37"></a>653 <a class="indexterm" name="id25905 44"></a>649 <a class="indexterm" name="id2590546"></a> 650 <a class="indexterm" name="id2590553"></a> 651 <a class="indexterm" name="id2590559"></a> 652 <a class="indexterm" name="id2590566"></a> 653 <a class="indexterm" name="id2590573"></a> 654 654 The need to be familiar with the Samba tools and facilities that permit information systems operation 655 655 in compliance with government laws and regulations is clear to all. The <code class="literal">pdbedit</code> is … … 660 660 Domain global policy controls available in Windows NT4 compared with Samba 661 661 is shown in <a class="link" href="passdb.html#policycontrols" title="Table 11.1. NT4 Domain v's Samba Policy Controls">NT4 Domain v's Samba Policy Controls</a>. 662 </p><div class="table"><a name="policycontrols"></a><p class="title"><b>Table 11.1. NT4 Domain v's Samba Policy Controls</b></p><div class="table-contents"><table summary="NT4 Domain v's Samba Policy Controls" border="1"><colgroup><col align="left"><col align="left"><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="left"><p>NT4 policy Name</p></th><th align="left"><p>Samba Policy Name</p></th><th align="center"><p>NT4 Range</p></th><th align="center"><p>Samba Range</p></th><th align="center"><p>Samba Default</p></th></tr></thead><tbody><tr><td align="left"><p>Maximum Password Age</p></td><td align="left"><p>maximum password age</p></td><td align="center"><p>0 - 999 (days)</p></td><td align="center"><p>0 - 4294967295 (sec)</p></td><td align="center"><p>4294967295</p></td></tr><tr><td align="left"><p>Minimum Password Age</p></td><td align="left"><p>minimum password age</p></td><td align="center"><p>0 - 999 (days)</p></td><td align="center"><p>0 - 4294967295 (sec)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Mi mimum Password Length</p></td><td align="left"><p>min password length</p></td><td align="center"><p>1 - 14 (Chars)</p></td><td align="center"><p>0 - 4294967295 (Chars)</p></td><td align="center"><p>5</p></td></tr><tr><td align="left"><p>Password Uniqueness</p></td><td align="left"><p>password history</p></td><td align="center"><p>0 - 23 (#)</p></td><td align="center"><p>0 - 4294967295 (#)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Account Lockout - Reset count after</p></td><td align="left"><p>reset count minutes</p></td><td align="center"><p>1 - 99998 (min)</p></td><td align="center"><p>0 - 4294967295 (min)</p></td><td align="center"><p>30</p></td></tr><tr><td align="left"><p>Lockout after bad logon attempts</p></td><td align="left"><p>bad lockout attempt</p></td><td align="center"><p>0 - 998 (#)</p></td><td align="center"><p>0 - 4294967295 (#)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>*** Not Known ***</p></td><td align="left"><p>disconnect time</p></td><td align="center"><p>TBA</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Lockout Duration</p></td><td align="left"><p>lockout duration</p></td><td align="center"><p>1 - 99998 (min)</p></td><td align="center"><p>0 - 4294967295 (min)</p></td><td align="center"><p>30</p></td></tr><tr><td align="left"><p>Users must log on in order to change password</p></td><td align="left"><p>user must logon to change password</p></td><td align="center"><p>0/1</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>*** Registry Setting ***</p></td><td align="left"><p>refuse machine password change</p></td><td align="center"><p>0/1</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr></tbody></table></div></div><br class="table-break"><p>663 <a class="indexterm" name="id25909 27"></a>664 <a class="indexterm" name="id25909 33"></a>665 <a class="indexterm" name="id25909 40"></a>666 <a class="indexterm" name="id25909 47"></a>662 </p><div class="table"><a name="policycontrols"></a><p class="title"><b>Table 11.1. NT4 Domain v's Samba Policy Controls</b></p><div class="table-contents"><table summary="NT4 Domain v's Samba Policy Controls" border="1"><colgroup><col align="left"><col align="left"><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="left"><p>NT4 policy Name</p></th><th align="left"><p>Samba Policy Name</p></th><th align="center"><p>NT4 Range</p></th><th align="center"><p>Samba Range</p></th><th align="center"><p>Samba Default</p></th></tr></thead><tbody><tr><td align="left"><p>Maximum Password Age</p></td><td align="left"><p>maximum password age</p></td><td align="center"><p>0 - 999 (days)</p></td><td align="center"><p>0 - 4294967295 (sec)</p></td><td align="center"><p>4294967295</p></td></tr><tr><td align="left"><p>Minimum Password Age</p></td><td align="left"><p>minimum password age</p></td><td align="center"><p>0 - 999 (days)</p></td><td align="center"><p>0 - 4294967295 (sec)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Minimum Password Length</p></td><td align="left"><p>min password length</p></td><td align="center"><p>1 - 14 (Chars)</p></td><td align="center"><p>0 - 4294967295 (Chars)</p></td><td align="center"><p>5</p></td></tr><tr><td align="left"><p>Password Uniqueness</p></td><td align="left"><p>password history</p></td><td align="center"><p>0 - 23 (#)</p></td><td align="center"><p>0 - 4294967295 (#)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Account Lockout - Reset count after</p></td><td align="left"><p>reset count minutes</p></td><td align="center"><p>1 - 99998 (min)</p></td><td align="center"><p>0 - 4294967295 (min)</p></td><td align="center"><p>30</p></td></tr><tr><td align="left"><p>Lockout after bad logon attempts</p></td><td align="left"><p>bad lockout attempt</p></td><td align="center"><p>0 - 998 (#)</p></td><td align="center"><p>0 - 4294967295 (#)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>*** Not Known ***</p></td><td align="left"><p>disconnect time</p></td><td align="center"><p>TBA</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Lockout Duration</p></td><td align="left"><p>lockout duration</p></td><td align="center"><p>1 - 99998 (min)</p></td><td align="center"><p>0 - 4294967295 (min)</p></td><td align="center"><p>30</p></td></tr><tr><td align="left"><p>Users must log on in order to change password</p></td><td align="left"><p>user must logon to change password</p></td><td align="center"><p>0/1</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>*** Registry Setting ***</p></td><td align="left"><p>refuse machine password change</p></td><td align="center"><p>0/1</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr></tbody></table></div></div><br class="table-break"><p> 663 <a class="indexterm" name="id2590956"></a> 664 <a class="indexterm" name="id2590963"></a> 665 <a class="indexterm" name="id2590970"></a> 666 <a class="indexterm" name="id2590977"></a> 667 667 The <code class="literal">pdbedit</code> tool is the only one that can manage the account 668 668 security and policy settings. It is capable of all operations that smbpasswd can 669 669 do as well as a superset of them. 670 670 </p><p> 671 <a class="indexterm" name="id25909 66"></a>672 <a class="indexterm" name="id259 0973"></a>673 <a class="indexterm" name="id259 0980"></a>671 <a class="indexterm" name="id2590996"></a> 672 <a class="indexterm" name="id2591003"></a> 673 <a class="indexterm" name="id2591010"></a> 674 674 One particularly important purpose of the <code class="literal">pdbedit</code> is to allow 675 675 the import/export of account information from one passdb backend to another. 676 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id259 0996"></a>User Account Management</h4></div></div></div><p>677 <a class="indexterm" name="id25910 04"></a>678 <a class="indexterm" name="id25910 11"></a>679 <a class="indexterm" name="id25910 18"></a>680 <a class="indexterm" name="id25910 25"></a>681 <a class="indexterm" name="id25910 32"></a>682 <a class="indexterm" name="id25910 39"></a>683 <a class="indexterm" name="id25910 46"></a>676 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2591026"></a>User Account Management</h4></div></div></div><p> 677 <a class="indexterm" name="id2591034"></a> 678 <a class="indexterm" name="id2591041"></a> 679 <a class="indexterm" name="id2591048"></a> 680 <a class="indexterm" name="id2591055"></a> 681 <a class="indexterm" name="id2591062"></a> 682 <a class="indexterm" name="id2591068"></a> 683 <a class="indexterm" name="id2591075"></a> 684 684 The <code class="literal">pdbedit</code> tool, like the <code class="literal">smbpasswd</code> tool, requires 685 685 that a POSIX user account already exists in the UNIX/Linux system accounts database (backend). … … 691 691 make use of these interface scripts. 692 692 </p><p> 693 <a class="indexterm" name="id2591 090"></a>694 <a class="indexterm" name="id2591 096"></a>693 <a class="indexterm" name="id2591119"></a> 694 <a class="indexterm" name="id2591126"></a> 695 695 Before attempting to use the <code class="literal">pdbedit</code> tool to manage user and machine 696 696 accounts, make certain that a system (POSIX) account has already been created. 697 </p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id25911 13"></a>Listing User and Machine Accounts</h5></div></div></div><p>698 <a class="indexterm" name="id25911 21"></a>699 <a class="indexterm" name="id25911 28"></a>697 </p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591142"></a>Listing User and Machine Accounts</h5></div></div></div><p> 698 <a class="indexterm" name="id2591151"></a> 699 <a class="indexterm" name="id2591157"></a> 700 700 The following is an example of the user account information that is stored in 701 701 a tdbsam password backend. This listing was produced by running: … … 724 724 </pre><p> 725 725 </p><p> 726 <a class="indexterm" name="id25911 70"></a>726 <a class="indexterm" name="id2591199"></a> 727 727 Accounts can also be listed in the older <code class="literal">smbpasswd</code> format: 728 728 </p><pre class="screen"> … … 749 749 C610EFE9A385A3E8AA46ADFD576E6881:[W ]:LCT-40F07A4 750 750 </pre><p> 751 <a class="indexterm" name="id25912 18"></a>752 <a class="indexterm" name="id25912 25"></a>753 <a class="indexterm" name="id25912 32"></a>754 <a class="indexterm" name="id25912 39"></a>755 <a class="indexterm" name="id25912 45"></a>756 <a class="indexterm" name="id25912 52"></a>751 <a class="indexterm" name="id2591248"></a> 752 <a class="indexterm" name="id2591255"></a> 753 <a class="indexterm" name="id2591261"></a> 754 <a class="indexterm" name="id2591268"></a> 755 <a class="indexterm" name="id2591275"></a> 756 <a class="indexterm" name="id2591282"></a> 757 757 The account information that was returned by this command in order from left to right 758 758 consists of the following colon separated data: 759 759 </p><div class="itemizedlist"><ul type="disc"><li><p>Login ID.</p></li><li><p>UNIX UID.</p></li><li><p>Microsoft LanManager password hash (password converted to upper-case then hashed.</p></li><li><p>Microsoft NT password hash (hash of the case-preserved password).</p></li><li><p>Samba SAM Account Flags.</p></li><li><p>The LCT data (password last change time).</p></li></ul></div><p> 760 <a class="indexterm" name="id25913 03"></a>761 <a class="indexterm" name="id25913 10"></a>760 <a class="indexterm" name="id2591333"></a> 761 <a class="indexterm" name="id2591340"></a> 762 762 The Account Flags parameters are documented in the <code class="literal">pdbedit</code> man page, and are 763 763 briefly documented in <a class="link" href="passdb.html#TOSHARG-acctflags" title="Account Flags Management">the Account Flags Management section</a>. 764 764 </p><p> 765 <a class="indexterm" name="id25913 37"></a>765 <a class="indexterm" name="id2591366"></a> 766 766 The LCT data consists of 8 hexadecimal characters representing the time since January 1, 1970, of 767 767 the time when the password was last changed. 768 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id25913 48"></a>Adding User Accounts</h5></div></div></div><p>769 <a class="indexterm" name="id25913 56"></a>770 <a class="indexterm" name="id25913 63"></a>771 <a class="indexterm" name="id25913 70"></a>772 <a class="indexterm" name="id2591 377"></a>773 <a class="indexterm" name="id2591 383"></a>768 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591378"></a>Adding User Accounts</h5></div></div></div><p> 769 <a class="indexterm" name="id2591386"></a> 770 <a class="indexterm" name="id2591392"></a> 771 <a class="indexterm" name="id2591399"></a> 772 <a class="indexterm" name="id2591406"></a> 773 <a class="indexterm" name="id2591413"></a> 774 774 The <code class="literal">pdbedit</code> can be used to add a user account to a standalone server 775 775 or to a domain. In the example shown here the account for the user <code class="literal">vlaan</code> … … 803 803 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 804 804 </pre><p> 805 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id25914 35"></a>Deleting Accounts</h5></div></div></div><p>806 <a class="indexterm" name="id25914 43"></a>807 <a class="indexterm" name="id25914 50"></a>808 <a class="indexterm" name="id25914 57"></a>809 <a class="indexterm" name="id25914 64"></a>805 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591465"></a>Deleting Accounts</h5></div></div></div><p> 806 <a class="indexterm" name="id2591473"></a> 807 <a class="indexterm" name="id2591480"></a> 808 <a class="indexterm" name="id2591487"></a> 809 <a class="indexterm" name="id2591493"></a> 810 810 An account can be deleted from the SambaSAMAccount database 811 811 </p><pre class="screen"> … … 815 815 SambaSAMAccount (passdb backend) database, it is not removed from the UNIX account backend. 816 816 </p><p> 817 <a class="indexterm" name="id2591 490"></a>818 <a class="indexterm" name="id2591 497"></a>817 <a class="indexterm" name="id2591520"></a> 818 <a class="indexterm" name="id2591527"></a> 819 819 The use of the NT4 domain user manager to delete an account will trigger the <em class="parameter"><code>delete user 820 820 script</code></em>, but not the <code class="literal">pdbedit</code> tool. 821 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id25915 20"></a>Changing User Accounts</h5></div></div></div><p>822 <a class="indexterm" name="id25915 28"></a>821 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591550"></a>Changing User Accounts</h5></div></div></div><p> 822 <a class="indexterm" name="id2591558"></a> 823 823 Refer to the <code class="literal">pdbedit</code> man page for a full synopsis of all operations 824 824 that are available with this tool. 825 825 </p><p> 826 <a class="indexterm" name="id25915 46"></a>826 <a class="indexterm" name="id2591575"></a> 827 827 An example of a simple change in the user account information is the change of the full name 828 828 information shown here: … … 836 836 </pre><p> 837 837 </p><p> 838 <a class="indexterm" name="id2591 573"></a>839 <a class="indexterm" name="id2591 580"></a>840 <a class="indexterm" name="id2591 586"></a>838 <a class="indexterm" name="id2591602"></a> 839 <a class="indexterm" name="id2591609"></a> 840 <a class="indexterm" name="id2591616"></a> 841 841 Let us assume for a moment that a user's password has expired and the user is unable to 842 842 change the password at this time. It may be necessary to give the user additional grace time … … 853 853 ... 854 854 </pre><p> 855 <a class="indexterm" name="id25916 15"></a>856 <a class="indexterm" name="id25916 22"></a>855 <a class="indexterm" name="id2591645"></a> 856 <a class="indexterm" name="id2591652"></a> 857 857 The user has recorded 2 bad logon attempts and the next will lock the account, but the 858 858 password is also expired. Here is how this account can be reset: … … 886 886 ... 887 887 </pre><p> 888 <a class="indexterm" name="id2591 686"></a>889 <a class="indexterm" name="id2591 693"></a>888 <a class="indexterm" name="id2591716"></a> 889 <a class="indexterm" name="id2591722"></a> 890 890 Refer to the strptime man page for specific time format information. 891 891 </p><p> 892 <a class="indexterm" name="id25917 04"></a>893 <a class="indexterm" name="id25917 11"></a>892 <a class="indexterm" name="id2591734"></a> 893 <a class="indexterm" name="id2591740"></a> 894 894 Please refer to the pdbedit man page for further information relating to SambaSAMAccount 895 895 management. 896 896 </p><div class="sect5" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="TOSHARG-acctflags"></a>Account Flags Management</h6></div></div></div><p> 897 <a class="indexterm" name="id25917 33"></a>898 <a class="indexterm" name="id25917 40"></a>899 <a class="indexterm" name="id25917 49"></a>900 <a class="indexterm" name="id25917 56"></a>897 <a class="indexterm" name="id2591762"></a> 898 <a class="indexterm" name="id2591769"></a> 899 <a class="indexterm" name="id2591778"></a> 900 <a class="indexterm" name="id2591785"></a> 901 901 The Samba SAM account flags are properly called the ACB (account control block) within 902 902 the Samba source code. In some parts of the Samba source code they are referred to as the 903 903 account encode_bits, and also as the account control flags. 904 904 </p><p> 905 <a class="indexterm" name="id2591 770"></a>906 <a class="indexterm" name="id2591 777"></a>907 <a class="indexterm" name="id2591 784"></a>908 <a class="indexterm" name="id2591 791"></a>909 <a class="indexterm" name="id2591 798"></a>905 <a class="indexterm" name="id2591800"></a> 906 <a class="indexterm" name="id2591807"></a> 907 <a class="indexterm" name="id2591814"></a> 908 <a class="indexterm" name="id2591821"></a> 909 <a class="indexterm" name="id2591828"></a> 910 910 The manual adjustment of user, machine (workstation or server) or an inter-domain trust 911 911 account account flgas should not be necessary under normal conditions of use of Samba. On the other hand, … … 913 913 useful. The tool of choice by which such correction can be affected is the <code class="literal">pdbedit</code> utility. 914 914 </p><p> 915 <a class="indexterm" name="id25918 21"></a>916 <a class="indexterm" name="id25918 28"></a>915 <a class="indexterm" name="id2591857"></a> 916 <a class="indexterm" name="id2591864"></a> 917 917 There have been a few requests for information regarding the account flags from developers 918 918 who are creating their own Samba management tools. An example of a need for information regarding … … 920 920 to manage an LDAP directory. 921 921 </p><p> 922 <a class="indexterm" name="id25918 44"></a>923 <a class="indexterm" name="id25918 50"></a>922 <a class="indexterm" name="id2591880"></a> 923 <a class="indexterm" name="id2591886"></a> 924 924 The account flag field can contain up to 16 characters. Presently, only 11 are in use. 925 925 These are listed in <a class="link" href="passdb.html#accountflags" title="Table 11.2. Samba SAM Account Control Block Flags">Samba SAM Account Control Block Flags</a>. … … 927 927 In fact, they can be set without problem in any order in the SambaAcctFlags record in the LDAP directory. 928 928 </p><div class="table"><a name="accountflags"></a><p class="title"><b>Table 11.2. Samba SAM Account Control Block Flags</b></p><div class="table-contents"><table summary="Samba SAM Account Control Block Flags" border="1"><colgroup><col><col></colgroup><thead><tr><th align="center">Flag</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">D</td><td align="left">Account is disabled.</td></tr><tr><td align="center">H</td><td align="left">A home directory is required.</td></tr><tr><td align="center">I</td><td align="left">An inter-domain trust account.</td></tr><tr><td align="center">L</td><td align="left">Account has been auto-locked.</td></tr><tr><td align="center">M</td><td align="left">An MNS (Microsoft network service) logon account.</td></tr><tr><td align="center">N</td><td align="left">Password not required.</td></tr><tr><td align="center">S</td><td align="left">A server trust account.</td></tr><tr><td align="center">T</td><td align="left">Temporary duplicate account entry.</td></tr><tr><td align="center">U</td><td align="left">A normal user account.</td></tr><tr><td align="center">W</td><td align="left">A workstation trust account.</td></tr><tr><td align="center">X</td><td align="left">Password does not expire.</td></tr></tbody></table></div></div><br class="table-break"><p> 929 <a class="indexterm" name="id2592 081"></a>930 <a class="indexterm" name="id2592 088"></a>929 <a class="indexterm" name="id2592117"></a> 930 <a class="indexterm" name="id2592124"></a> 931 931 An example of use of the <code class="literal">pdbedit</code> utility to set the account control flags 932 932 is shown here: … … 956 956 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 957 957 </pre><p> 958 <a class="indexterm" name="id25921 28"></a>958 <a class="indexterm" name="id2592179"></a> 959 959 The flags can be reset to the default settings by executing: 960 960 </p><pre class="screen"> … … 983 983 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 984 984 </pre><p> 985 </p></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2592 166"></a>Domain Account Policy Managment</h5></div></div></div><p>986 <a class="indexterm" name="id2592 174"></a>987 <a class="indexterm" name="id2592 181"></a>985 </p></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2592216"></a>Domain Account Policy Managment</h5></div></div></div><p> 986 <a class="indexterm" name="id2592224"></a> 987 <a class="indexterm" name="id2592232"></a> 988 988 To view the domain account access policies that may be configured execute: 989 989 </p><pre class="screen"> … … 1016 1016 account policy value for maximum password age was 4294967295 1017 1017 account policy value for maximum password age is now 7776000 1018 <code class="prompt">root# </code> pdbedit -P "minimum password age" -C 71018 <code class="prompt">root# </code> pdbedit -P "minimum password age" -C 604800 1019 1019 account policy value for minimum password age was 0 1020 1020 account policy value for minimum password age is now 7 … … 1033 1033 time there after. Please check the WHATSNEW.txt file in the Samba-3 tarball for specific update notiations 1034 1034 regarding this facility. 1035 </p></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25923 27"></a>Account Import/Export</h4></div></div></div><p>1036 <a class="indexterm" name="id25923 35"></a>1037 <a class="indexterm" name="id25923 42"></a>1038 <a class="indexterm" name="id2592 349"></a>1035 </p></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2592378"></a>Account Import/Export</h4></div></div></div><p> 1036 <a class="indexterm" name="id2592386"></a> 1037 <a class="indexterm" name="id2592393"></a> 1038 <a class="indexterm" name="id2592400"></a> 1039 1039 The <code class="literal">pdbedit</code> tool allows import/export of authentication (account) 1040 1040 databases from one backend to another. For example, to import/export accounts from an … … 1042 1042 backend: 1043 1043 </p><div class="procedure"><ol type="1"><li><p> 1044 <a class="indexterm" name="id2592 386"></a>1044 <a class="indexterm" name="id2592436"></a> 1045 1045 </p><pre class="screen"> 1046 1046 <code class="prompt">root# </code><strong class="userinput"><code>pdbedit -i smbpasswd -e tdbsam</code></strong> 1047 1047 </pre><p> 1048 1048 </p></li><li><p> 1049 <a class="indexterm" name="id25924 15"></a>1049 <a class="indexterm" name="id2592466"></a> 1050 1050 Replace the <em class="parameter"><code>smbpasswd</code></em> with <em class="parameter"><code>tdbsam</code></em> in the 1051 1051 <em class="parameter"><code>passdb backend</code></em> configuration in <code class="filename">smb.conf</code>. 1052 </p></li></ol></div></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2592 452"></a>Password Backends</h2></div></div></div><p>1053 <a class="indexterm" name="id2592 460"></a>1054 <a class="indexterm" name="id2592 467"></a>1052 </p></li></ol></div></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2592503"></a>Password Backends</h2></div></div></div><p> 1053 <a class="indexterm" name="id2592511"></a> 1054 <a class="indexterm" name="id2592518"></a> 1055 1055 Samba offers flexibility in backend account database design. The flexibility is immediately obvious as one 1056 1056 begins to explore this capability. Recent changes to Samba (since 3.0.23) have removed the mulitple backend … … 1058 1058 operation of Samba-3 more consistent and predictable. 1059 1059 </p><p> 1060 <a class="indexterm" name="id2592 483"></a>1061 <a class="indexterm" name="id2592 490"></a>1060 <a class="indexterm" name="id2592534"></a> 1061 <a class="indexterm" name="id2592541"></a> 1062 1062 Beginning with Samba 3.0.23 it is no longer possible to specify use of mulitple passdb backends. Earlier 1063 1063 versions of Samba-3 made it possible to specify multiple password backends, and even multiple … … 1065 1065 SID to name ID resolution. The Samba team wrestled with the challenges and decided that this feature needed 1066 1066 to be removed. 1067 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25925 06"></a>Plaintext</h3></div></div></div><p>1068 <a class="indexterm" name="id25925 13"></a>1069 <a class="indexterm" name="id25925 20"></a>1070 <a class="indexterm" name="id25925 27"></a>1071 <a class="indexterm" name="id25925 34"></a>1072 <a class="indexterm" name="id25925 41"></a>1073 <a class="indexterm" name="id25925 48"></a>1067 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592556"></a>Plaintext</h3></div></div></div><p> 1068 <a class="indexterm" name="id2592564"></a> 1069 <a class="indexterm" name="id2592571"></a> 1070 <a class="indexterm" name="id2592578"></a> 1071 <a class="indexterm" name="id2592585"></a> 1072 <a class="indexterm" name="id2592592"></a> 1073 <a class="indexterm" name="id2592599"></a> 1074 1074 Older versions of Samba retrieved user information from the UNIX user database 1075 1075 and eventually some other fields from the file <code class="filename">/etc/samba/smbpasswd</code> … … 1078 1078 that the Samba host OS will access its <code class="filename">/etc/passwd</code> database. 1079 1079 On most Linux systems, for example, all user and group resolution is done via PAM. 1080 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592 582"></a>smbpasswd: Encrypted Password Database</h3></div></div></div><p>1081 <a class="indexterm" name="id2592 590"></a>1082 <a class="indexterm" name="id2592 599"></a>1083 <a class="indexterm" name="id25926 06"></a>1084 <a class="indexterm" name="id25926 13"></a>1080 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592632"></a>smbpasswd: Encrypted Password Database</h3></div></div></div><p> 1081 <a class="indexterm" name="id2592641"></a> 1082 <a class="indexterm" name="id2592650"></a> 1083 <a class="indexterm" name="id2592657"></a> 1084 <a class="indexterm" name="id2592664"></a> 1085 1085 Traditionally, when configuring <a class="link" href="smb.conf.5.html#ENCRYPTPASSWORDS" target="_top">encrypt passwords = yes</a> 1086 1086 in Samba's <code class="filename">smb.conf</code> file, user account information such as username, LM/NT password hashes, … … 1089 1089 (counted in the thousands). 1090 1090 </p><div class="itemizedlist"><ul type="disc"><li><p> 1091 <a class="indexterm" name="id2592 656"></a>1091 <a class="indexterm" name="id2592707"></a> 1092 1092 The first problem is that all lookups must be performed sequentially. Given that 1093 there are approximately two lookups per domain logon (one during in tial logon validation1093 there are approximately two lookups per domain logon (one during initial logon validation 1094 1094 and one for a session connection setup, such as when mapping a network drive or printer), this 1095 1095 is a performance bottleneck for large sites. What is needed is an indexed approach 1096 1096 such as that used in databases. 1097 1097 </p></li><li><p> 1098 <a class="indexterm" name="id2592 674"></a>1099 <a class="indexterm" name="id2592 680"></a>1100 <a class="indexterm" name="id2592 687"></a>1101 <a class="indexterm" name="id2592 694"></a>1102 <a class="indexterm" name="id25927 01"></a>1098 <a class="indexterm" name="id2592724"></a> 1099 <a class="indexterm" name="id2592731"></a> 1100 <a class="indexterm" name="id2592738"></a> 1101 <a class="indexterm" name="id2592745"></a> 1102 <a class="indexterm" name="id2592751"></a> 1103 1103 The second problem is that administrators who desire to replicate an smbpasswd file 1104 1104 to more than one Samba server are left to use external tools such as … … 1106 1106 in-house scripts. 1107 1107 </p></li><li><p> 1108 <a class="indexterm" name="id25927 26"></a>1109 <a class="indexterm" name="id25927 33"></a>1110 <a class="indexterm" name="id25927 40"></a>1111 <a class="indexterm" name="id25927 47"></a>1112 <a class="indexterm" name="id2592 754"></a>1108 <a class="indexterm" name="id2592777"></a> 1109 <a class="indexterm" name="id2592784"></a> 1110 <a class="indexterm" name="id2592791"></a> 1111 <a class="indexterm" name="id2592798"></a> 1112 <a class="indexterm" name="id2592805"></a> 1113 1113 Finally, the amount of information that is stored in an smbpasswd entry leaves 1114 1114 no room for additional attributes such as a home directory, password expiration time, 1115 1115 or even a relative identifier (RID). 1116 1116 </p></li></ul></div><p> 1117 <a class="indexterm" name="id2592 771"></a>1118 <a class="indexterm" name="id2592 778"></a>1119 <a class="indexterm" name="id2592 785"></a>1120 <a class="indexterm" name="id2592 792"></a>1117 <a class="indexterm" name="id2592822"></a> 1118 <a class="indexterm" name="id2592829"></a> 1119 <a class="indexterm" name="id2592835"></a> 1120 <a class="indexterm" name="id2592842"></a> 1121 1121 As a result of these deficiencies, a more robust means of storing user attributes 1122 1122 used by smbd was developed. The API that defines access to user accounts … … 1124 1124 API and is still so named in the Samba source code trees). 1125 1125 </p><p> 1126 <a class="indexterm" name="id25928 07"></a>1127 <a class="indexterm" name="id25928 14"></a>1128 <a class="indexterm" name="id25928 21"></a>1129 <a class="indexterm" name="id25928 28"></a>1130 <a class="indexterm" name="id25928 35"></a>1126 <a class="indexterm" name="id2592858"></a> 1127 <a class="indexterm" name="id2592865"></a> 1128 <a class="indexterm" name="id2592872"></a> 1129 <a class="indexterm" name="id2592879"></a> 1130 <a class="indexterm" name="id2592886"></a> 1131 1131 Samba provides an enhanced set of passdb backends that overcome the deficiencies 1132 1132 of the smbpasswd plaintext database. These are tdbsam and ldapsam. 1133 1133 Of these, ldapsam will be of most interest to large corporate or enterprise sites. 1134 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25928 48"></a>tdbsam</h3></div></div></div><p>1135 <a class="indexterm" name="id2592 856"></a>1136 <a class="indexterm" name="id2592 865"></a>1137 <a class="indexterm" name="id2592 874"></a>1134 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592899"></a>tdbsam</h3></div></div></div><p> 1135 <a class="indexterm" name="id2592906"></a> 1136 <a class="indexterm" name="id2592916"></a> 1137 <a class="indexterm" name="id2592925"></a> 1138 1138 Samba can store user and machine account data in a “<span class="quote">TDB</span>” (trivial database). 1139 1139 Using this backend does not require any additional configuration. This backend is 1140 1140 recommended for new installations that do not require LDAP. 1141 1141 </p><p> 1142 <a class="indexterm" name="id2592 891"></a>1143 <a class="indexterm" name="id2592 898"></a>1144 <a class="indexterm" name="id25929 04"></a>1145 <a class="indexterm" name="id25929 11"></a>1142 <a class="indexterm" name="id2592942"></a> 1143 <a class="indexterm" name="id2592949"></a> 1144 <a class="indexterm" name="id2592955"></a> 1145 <a class="indexterm" name="id2592962"></a> 1146 1146 As a general guide, the Samba Team does not recommend using the tdbsam backend for sites 1147 1147 that have 250 or more users. Additionally, tdbsam is not capable of scaling for use … … 1149 1149 database. Clearly, for reason of scalability, the use of ldapsam should be encouraged. 1150 1150 </p><p> 1151 <a class="indexterm" name="id25929 27"></a>1152 <a class="indexterm" name="id25929 34"></a>1153 <a class="indexterm" name="id25929 41"></a>1151 <a class="indexterm" name="id2592978"></a> 1152 <a class="indexterm" name="id2592985"></a> 1153 <a class="indexterm" name="id2592992"></a> 1154 1154 The recommendation of a 250-user limit is purely based on the notion that this 1155 1155 would generally involve a site that has routed networks, possibly spread across … … 1157 1157 the performance-based scalability limits of the tdbsam architecture. 1158 1158 </p><p> 1159 <a class="indexterm" name="id259 2956"></a>1160 <a class="indexterm" name="id259 2963"></a>1161 <a class="indexterm" name="id259 2970"></a>1162 <a class="indexterm" name="id259 2977"></a>1159 <a class="indexterm" name="id2593007"></a> 1160 <a class="indexterm" name="id2593014"></a> 1161 <a class="indexterm" name="id2593021"></a> 1162 <a class="indexterm" name="id2593028"></a> 1163 1163 There are sites that have thousands of users and yet require only one server. 1164 1164 One site recently reported having 4,500 user accounts on one UNIX system and … … 1168 1168 only on the need for a reliable distribution mechanism for the SambaSAMAccount 1169 1169 backend. 1170 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25930 06"></a>ldapsam</h3></div></div></div><p>1171 <a class="indexterm" name="id25930 13"></a>1172 <a class="indexterm" name="id25930 20"></a>1173 <a class="indexterm" name="id25930 27"></a>1170 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2593056"></a>ldapsam</h3></div></div></div><p> 1171 <a class="indexterm" name="id2593064"></a> 1172 <a class="indexterm" name="id2593071"></a> 1173 <a class="indexterm" name="id2593078"></a> 1174 1174 There are a few points to stress that the ldapsam does not provide. The LDAP 1175 1175 support referred to in this documentation does not include: 1176 1176 </p><div class="itemizedlist"><ul type="disc"><li><p>A means of retrieving user account information from 1177 1177 a Windows 200x Active Directory server.</p></li><li><p>A means of replacing /etc/passwd.</p></li></ul></div><p> 1178 <a class="indexterm" name="id2593 056"></a>1179 <a class="indexterm" name="id2593 063"></a>1180 <a class="indexterm" name="id2593 069"></a>1181 <a class="indexterm" name="id2593 076"></a>1178 <a class="indexterm" name="id2593107"></a> 1179 <a class="indexterm" name="id2593114"></a> 1180 <a class="indexterm" name="id2593120"></a> 1181 <a class="indexterm" name="id2593127"></a> 1182 1182 The second item can be accomplished by using LDAP NSS and PAM modules. LGPL versions of these libraries can be 1183 1183 obtained from <a class="ulink" href="http://www.padl.com/" target="_top">PADL Software</a>. More information about the … … 1185 1185 <span class="emphasis"><em>LDAP, System Administration</em></span> by Gerald Carter, Chapter 6, Replacing NIS"</a>. 1186 1186 </p><p> 1187 <a class="indexterm" name="id25931 07"></a>1188 <a class="indexterm" name="id25931 14"></a>1189 <a class="indexterm" name="id25931 20"></a>1187 <a class="indexterm" name="id2593158"></a> 1188 <a class="indexterm" name="id2593164"></a> 1189 <a class="indexterm" name="id2593171"></a> 1190 1190 This document describes how to use an LDAP directory for storing Samba user 1191 1191 account information traditionally stored in the smbpasswd(5) file. It is … … 1200 1200 Two additional Samba resources that may prove to be helpful are: 1201 1201 </p><div class="itemizedlist"><ul type="disc"><li><p> 1202 <a class="indexterm" name="id25932 01"></a>1202 <a class="indexterm" name="id2593252"></a> 1203 1203 The <a class="ulink" href="http://www.unav.es/cti/ldap-smb/ldap-smb-3-howto.html" target="_top">Samba-PDC-LDAP-HOWTO</a> 1204 1204 maintained by Ignacio Coupeau. 1205 1205 </p></li><li><p> 1206 <a class="indexterm" name="id25932 20"></a>1207 <a class="indexterm" name="id25932 27"></a>1208 <a class="indexterm" name="id25932 34"></a>1206 <a class="indexterm" name="id2593271"></a> 1207 <a class="indexterm" name="id2593278"></a> 1208 <a class="indexterm" name="id2593285"></a> 1209 1209 The NT migration scripts from <a class="ulink" href="http://samba.idealx.org/" target="_top">IDEALX</a> that are 1210 1210 geared to manage users and groups in such a Samba-LDAP domain controller configuration. 1211 1211 Idealx also produced the smbldap-tools and the Interactive Console Management tool. 1212 </p></li></ul></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593 253"></a>Supported LDAP Servers</h4></div></div></div><p>1213 <a class="indexterm" name="id2593 261"></a>1214 <a class="indexterm" name="id2593 268"></a>1215 <a class="indexterm" name="id2593 275"></a>1216 <a class="indexterm" name="id2593 282"></a>1212 </p></li></ul></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593304"></a>Supported LDAP Servers</h4></div></div></div><p> 1213 <a class="indexterm" name="id2593312"></a> 1214 <a class="indexterm" name="id2593319"></a> 1215 <a class="indexterm" name="id2593326"></a> 1216 <a class="indexterm" name="id2593332"></a> 1217 1217 The LDAP ldapsam code was developed and tested using the OpenLDAP 2.x server and 1218 1218 client libraries. The same code should work with Netscape's Directory Server and client SDK. … … 1221 1221 </p><p> 1222 1222 Samba is capable of working with any standards-compliant LDAP server. 1223 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25933 08"></a>Schema and Relationship to the RFC 2307 posixAccount</h4></div></div></div><p>1223 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593359"></a>Schema and Relationship to the RFC 2307 posixAccount</h4></div></div></div><p> 1224 1224 Samba-3.0 includes the necessary schema file for OpenLDAP 2.x in the 1225 1225 <code class="filename">examples/LDAP/samba.schema</code> directory of the source code distribution … … 1237 1237 </pre><p> 1238 1238 </p><p> 1239 <a class="indexterm" name="id25933 53"></a>1240 <a class="indexterm" name="id2593 360"></a>1241 <a class="indexterm" name="id2593 367"></a>1239 <a class="indexterm" name="id2593395"></a> 1240 <a class="indexterm" name="id2593402"></a> 1241 <a class="indexterm" name="id2593409"></a> 1242 1242 The <code class="filename">samba.schema</code> file has been formatted for OpenLDAP 2.0/2.1. 1243 1243 The Samba Team owns the OID space used by the above schema and recommends its use. … … 1245 1245 schema file as a patch to <a class="ulink" href="mailto:jerry@samba.org" target="_top">jerry@samba.org</a>. 1246 1246 </p><p> 1247 <a class="indexterm" name="id2593 394"></a>1248 <a class="indexterm" name="id25934 01"></a>1249 <a class="indexterm" name="id25934 08"></a>1250 <a class="indexterm" name="id25934 15"></a>1251 <a class="indexterm" name="id25934 21"></a>1252 <a class="indexterm" name="id25934 28"></a>1253 <a class="indexterm" name="id25934 35"></a>1247 <a class="indexterm" name="id2593436"></a> 1248 <a class="indexterm" name="id2593442"></a> 1249 <a class="indexterm" name="id2593449"></a> 1250 <a class="indexterm" name="id2593456"></a> 1251 <a class="indexterm" name="id2593463"></a> 1252 <a class="indexterm" name="id2593470"></a> 1253 <a class="indexterm" name="id2593477"></a> 1254 1254 Just as the smbpasswd file is meant to store information that provides information 1255 1255 additional to a user's <code class="filename">/etc/passwd</code> entry, so is the sambaSamAccount … … 1260 1260 with the posixAccount ObjectClass outlined in RFC 2307. This is by design. 1261 1261 </p><p> 1262 <a class="indexterm" name="id2593464"></a>1263 <a class="indexterm" name="id2593471"></a>1264 <a class="indexterm" name="id2593478"></a>1265 <a class="indexterm" name="id2593485"></a>1266 <a class="indexterm" name="id2593492"></a>1267 <a class="indexterm" name="id2593498"></a>1268 1262 <a class="indexterm" name="id2593505"></a> 1269 1263 <a class="indexterm" name="id2593512"></a> 1270 <a class="indexterm" name="id2593518"></a> 1264 <a class="indexterm" name="id2593519"></a> 1265 <a class="indexterm" name="id2593526"></a> 1266 <a class="indexterm" name="id2593533"></a> 1267 <a class="indexterm" name="id2593540"></a> 1268 <a class="indexterm" name="id2593547"></a> 1269 <a class="indexterm" name="id2593554"></a> 1270 <a class="indexterm" name="id2593560"></a> 1271 1271 In order to store all user account information (UNIX and Samba) in the directory, 1272 1272 it is necessary to use the sambaSamAccount and posixAccount ObjectClasses in … … 1277 1277 store all Samba account information in LDAP, but still maintain UNIX account 1278 1278 information in NIS while the network is transitioning to a full LDAP infrastructure. 1279 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25935 44"></a>OpenLDAP Configuration</h4></div></div></div><p>1280 <a class="indexterm" name="id25935 52"></a>1281 <a class="indexterm" name="id2593 559"></a>1282 <a class="indexterm" name="id2593 566"></a>1283 <a class="indexterm" name="id2593 572"></a>1279 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593585"></a>OpenLDAP Configuration</h4></div></div></div><p> 1280 <a class="indexterm" name="id2593593"></a> 1281 <a class="indexterm" name="id2593600"></a> 1282 <a class="indexterm" name="id2593607"></a> 1283 <a class="indexterm" name="id2593614"></a> 1284 1284 To include support for the sambaSamAccount object in an OpenLDAP directory 1285 1285 server, first copy the samba.schema file to slapd's configuration directory. … … 1290 1290 </pre><p> 1291 1291 </p><p> 1292 <a class="indexterm" name="id25936 09"></a>1293 <a class="indexterm" name="id25936 16"></a>1294 <a class="indexterm" name="id25936 23"></a>1295 <a class="indexterm" name="id25936 30"></a>1296 <a class="indexterm" name="id25936 37"></a>1297 <a class="indexterm" name="id25936 43"></a>1298 <a class="indexterm" name="id25936 50"></a>1299 <a class="indexterm" name="id25936 57"></a>1292 <a class="indexterm" name="id2593651"></a> 1293 <a class="indexterm" name="id2593658"></a> 1294 <a class="indexterm" name="id2593665"></a> 1295 <a class="indexterm" name="id2593672"></a> 1296 <a class="indexterm" name="id2593678"></a> 1297 <a class="indexterm" name="id2593685"></a> 1298 <a class="indexterm" name="id2593692"></a> 1299 <a class="indexterm" name="id2593699"></a> 1300 1300 Next, include the <code class="filename">samba.schema</code> file in <code class="filename">slapd.conf</code>. 1301 1301 The sambaSamAccount object contains two attributes that depend on other schema … … 1317 1317 </pre><p> 1318 1318 </p><p> 1319 <a class="indexterm" name="id25937 25"></a>1320 <a class="indexterm" name="id25937 32"></a>1321 <a class="indexterm" name="id25937 39"></a>1322 <a class="indexterm" name="id25937 46"></a>1319 <a class="indexterm" name="id2593767"></a> 1320 <a class="indexterm" name="id2593774"></a> 1321 <a class="indexterm" name="id2593781"></a> 1322 <a class="indexterm" name="id2593788"></a> 1323 1323 It is recommended that you maintain some indices on some of the most useful attributes, 1324 1324 as in the following example, to speed up searches made on sambaSamAccount ObjectClasses … … 1358 1358 <code class="prompt">root# </code><strong class="userinput"><code>/etc/init.d/slapd restart</code></strong> 1359 1359 </pre><p> 1360 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25938 16"></a>Initialize the LDAP Database</h4></div></div></div><p>1361 <a class="indexterm" name="id25938 24"></a>1362 <a class="indexterm" name="id25938 31"></a>1363 <a class="indexterm" name="id25938 38"></a>1364 <a class="indexterm" name="id25938 45"></a>1360 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593857"></a>Initialize the LDAP Database</h4></div></div></div><p> 1361 <a class="indexterm" name="id2593866"></a> 1362 <a class="indexterm" name="id2593872"></a> 1363 <a class="indexterm" name="id2593879"></a> 1364 <a class="indexterm" name="id2593886"></a> 1365 1365 Before you can add accounts to the LDAP database, you must create the account containers 1366 1366 that they will be stored in. The following LDIF file should be modified to match your … … 1424 1424 </pre><p> 1425 1425 </p><p> 1426 <a class="indexterm" name="id2593 887"></a>1427 <a class="indexterm" name="id2593 894"></a>1426 <a class="indexterm" name="id2593929"></a> 1427 <a class="indexterm" name="id2593936"></a> 1428 1428 The userPassword shown above should be generated using <code class="literal">slappasswd</code>. 1429 1429 </p><p> 1430 <a class="indexterm" name="id25939 11"></a>1431 <a class="indexterm" name="id25939 18"></a>1430 <a class="indexterm" name="id2593953"></a> 1431 <a class="indexterm" name="id2593960"></a> 1432 1432 The following command will then load the contents of the LDIF file into the LDAP 1433 1433 database. 1434 <a class="indexterm" name="id25939 27"></a>1434 <a class="indexterm" name="id2593968"></a> 1435 1435 </p><pre class="screen"> 1436 1436 <code class="prompt">$ </code><strong class="userinput"><code>slapadd -v -l initldap.dif</code></strong> … … 1440 1440 as well as an admin password. 1441 1441 </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> 1442 <a class="indexterm" name="id259 3959"></a>1442 <a class="indexterm" name="id2594000"></a> 1443 1443 Before Samba can access the LDAP server, you need to store the LDAP admin password 1444 1444 in the Samba-3 <code class="filename">secrets.tdb</code> database by: 1445 <a class="indexterm" name="id259 3974"></a>1445 <a class="indexterm" name="id2594015"></a> 1446 1446 </p><pre class="screen"> 1447 1447 <code class="prompt">root# </code><strong class="userinput"><code>smbpasswd -w <em class="replaceable"><code>secret</code></em></code></strong> 1448 1448 </pre><p> 1449 </p></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25940 01"></a>Configuring Samba</h4></div></div></div><p>1450 <a class="indexterm" name="id25940 09"></a>1451 <a class="indexterm" name="id25940 16"></a>1449 </p></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594043"></a>Configuring Samba</h4></div></div></div><p> 1450 <a class="indexterm" name="id2594051"></a> 1451 <a class="indexterm" name="id2594057"></a> 1452 1452 The following parameters are available in <code class="filename">smb.conf</code> only if your version of Samba was built with 1453 1453 LDAP support. Samba automatically builds with LDAP support if the LDAP libraries are found. The … … 1468 1468 and libraries were not found during compilation. 1469 1469 </p><p>LDAP-related smb.conf options include these: 1470 </p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="indexterm" name="id2594 072"></a><em class="parameter"><code>passdb backend = ldapsam:url</code></em></td></tr><tr><td><a class="indexterm" name="id2594084"></a></td></tr><tr><td><a class="indexterm" name="id2594091"></a></td></tr><tr><td><a class="indexterm" name="id2594098"></a></td></tr><tr><td><a class="indexterm" name="id2594105"></a></td></tr><tr><td><a class="indexterm" name="id2594112"></a></td></tr><tr><td><a class="indexterm" name="id2594119"></a></td></tr><tr><td><a class="indexterm" name="id2594126"></a></td></tr><tr><td><a class="indexterm" name="id2594133"></a></td></tr><tr><td><a class="indexterm" name="id2594140"></a></td></tr><tr><td><a class="indexterm" name="id2594146"></a></td></tr><tr><td><a class="indexterm" name="id2594153"></a></td></tr><tr><td><a class="indexterm" name="id2594160"></a></td></tr><tr><td><a class="indexterm" name="id2594167"></a></td></tr></table><p>1470 </p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="indexterm" name="id2594114"></a><em class="parameter"><code>passdb backend = ldapsam:url</code></em></td></tr><tr><td><a class="indexterm" name="id2594126"></a></td></tr><tr><td><a class="indexterm" name="id2594133"></a></td></tr><tr><td><a class="indexterm" name="id2594140"></a></td></tr><tr><td><a class="indexterm" name="id2594147"></a></td></tr><tr><td><a class="indexterm" name="id2594154"></a></td></tr><tr><td><a class="indexterm" name="id2594160"></a></td></tr><tr><td><a class="indexterm" name="id2594167"></a></td></tr><tr><td><a class="indexterm" name="id2594174"></a></td></tr><tr><td><a class="indexterm" name="id2594181"></a></td></tr><tr><td><a class="indexterm" name="id2594188"></a></td></tr><tr><td><a class="indexterm" name="id2594195"></a></td></tr><tr><td><a class="indexterm" name="id2594202"></a></td></tr><tr><td><a class="indexterm" name="id2594209"></a></td></tr></table><p> 1471 1471 </p><p> 1472 1472 These are described in the <code class="filename">smb.conf</code> man page and so are not repeated here. However, an example 1473 1473 for use with an LDAP directory is shown in <a class="link" href="passdb.html#confldapex" title="Example 11.2. Configuration with LDAP">the Configuration with LDAP.</a> 1474 </p><div class="example"><a name="confldapex"></a><p class="title"><b>Example 11.2. Configuration with LDAP</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id25942 19"></a><em class="parameter"><code>security = user</code></em></td></tr><tr><td><a class="indexterm" name="id2594230"></a><em class="parameter"><code>encrypt passwords = yes</code></em></td></tr><tr><td><a class="indexterm" name="id2594242"></a><em class="parameter"><code>netbios name = MORIA</code></em></td></tr><tr><td><a class="indexterm" name="id2594254"></a><em class="parameter"><code>workgroup = NOLDOR</code></em></td></tr><tr><td># LDAP related parameters:</td></tr><tr><td># Define the DN used when binding to the LDAP servers.</td></tr><tr><td># The password for this DN is not stored in smb.conf</td></tr><tr><td># Set it using 'smbpasswd -w secret' to store the</td></tr><tr><td># passphrase in the secrets.tdb file.</td></tr><tr><td># If the "ldap admin dn" value changes, it must be reset.</td></tr><tr><td><a class="indexterm" name="id2594290"></a><em class="parameter"><code>ldap admin dn = "cn=Manager,dc=quenya,dc=org"</code></em></td></tr><tr><td># SSL directory connections can be configured by:</td></tr><tr><td># ('off', 'start tls', or 'on' (default))</td></tr><tr><td><a class="indexterm" name="id2594311"></a><em class="parameter"><code>ldap ssl = start tls</code></em></td></tr><tr><td># syntax: passdb backend = ldapsam:ldap://server-name[:port]</td></tr><tr><td><a class="indexterm" name="id2594327"></a><em class="parameter"><code>passdb backend = ldapsam:ldap://frodo.quenya.org</code></em></td></tr><tr><td># smbpasswd -x delete the entire dn-entry</td></tr><tr><td><a class="indexterm" name="id2594343"></a><em class="parameter"><code>ldap delete dn = no</code></em></td></tr><tr><td># The machine and user suffix are added to the base suffix</td></tr><tr><td># wrote WITHOUT quotes. NULL suffixes by default</td></tr><tr><td><a class="indexterm" name="id2594363"></a><em class="parameter"><code>ldap user suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id2594375"></a><em class="parameter"><code>ldap group suffix = ou=Groups</code></em></td></tr><tr><td><a class="indexterm" name="id2594387"></a><em class="parameter"><code>ldap machine suffix = ou=Computers</code></em></td></tr><tr><td># Trust UNIX account information in LDAP</td></tr><tr><td># (see the smb.conf man page for details)</td></tr><tr><td># Specify the base DN to use when searching the directory</td></tr><tr><td><a class="indexterm" name="id2594412"></a><em class="parameter"><code>ldap suffix = dc=quenya,dc=org</code></em></td></tr></table></div></div><br class="example-break"></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594426"></a>Accounts and Groups Management</h4></div></div></div><p>1475 <a class="indexterm" name="id25944 34"></a>1476 <a class="indexterm" name="id25944 41"></a>1474 </p><div class="example"><a name="confldapex"></a><p class="title"><b>Example 11.2. Configuration with LDAP</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2594260"></a><em class="parameter"><code>security = user</code></em></td></tr><tr><td><a class="indexterm" name="id2594272"></a><em class="parameter"><code>encrypt passwords = yes</code></em></td></tr><tr><td><a class="indexterm" name="id2594284"></a><em class="parameter"><code>netbios name = MORIA</code></em></td></tr><tr><td><a class="indexterm" name="id2594296"></a><em class="parameter"><code>workgroup = NOLDOR</code></em></td></tr><tr><td># LDAP related parameters:</td></tr><tr><td># Define the DN used when binding to the LDAP servers.</td></tr><tr><td># The password for this DN is not stored in smb.conf</td></tr><tr><td># Set it using 'smbpasswd -w secret' to store the</td></tr><tr><td># passphrase in the secrets.tdb file.</td></tr><tr><td># If the "ldap admin dn" value changes, it must be reset.</td></tr><tr><td><a class="indexterm" name="id2594332"></a><em class="parameter"><code>ldap admin dn = "cn=Manager,dc=quenya,dc=org"</code></em></td></tr><tr><td># SSL directory connections can be configured by:</td></tr><tr><td># ('off', 'start tls', or 'on' (default))</td></tr><tr><td><a class="indexterm" name="id2594352"></a><em class="parameter"><code>ldap ssl = start tls</code></em></td></tr><tr><td># syntax: passdb backend = ldapsam:ldap://server-name[:port]</td></tr><tr><td><a class="indexterm" name="id2594368"></a><em class="parameter"><code>passdb backend = ldapsam:ldap://frodo.quenya.org</code></em></td></tr><tr><td># smbpasswd -x delete the entire dn-entry</td></tr><tr><td><a class="indexterm" name="id2594385"></a><em class="parameter"><code>ldap delete dn = no</code></em></td></tr><tr><td># The machine and user suffix are added to the base suffix</td></tr><tr><td># wrote WITHOUT quotes. NULL suffixes by default</td></tr><tr><td><a class="indexterm" name="id2594405"></a><em class="parameter"><code>ldap user suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id2594417"></a><em class="parameter"><code>ldap group suffix = ou=Groups</code></em></td></tr><tr><td><a class="indexterm" name="id2594429"></a><em class="parameter"><code>ldap machine suffix = ou=Computers</code></em></td></tr><tr><td># Trust UNIX account information in LDAP</td></tr><tr><td># (see the smb.conf man page for details)</td></tr><tr><td># Specify the base DN to use when searching the directory</td></tr><tr><td><a class="indexterm" name="id2594453"></a><em class="parameter"><code>ldap suffix = dc=quenya,dc=org</code></em></td></tr></table></div></div><br class="example-break"></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594467"></a>Accounts and Groups Management</h4></div></div></div><p> 1475 <a class="indexterm" name="id2594475"></a> 1476 <a class="indexterm" name="id2594482"></a> 1477 1477 Because user accounts are managed through the sambaSamAccount ObjectClass, you should 1478 1478 modify your existing administration tools to deal with sambaSamAccount attributes. 1479 1479 </p><p> 1480 <a class="indexterm" name="id25944 56"></a>1481 <a class="indexterm" name="id2594 463"></a>1482 <a class="indexterm" name="id2594 470"></a>1480 <a class="indexterm" name="id2594498"></a> 1481 <a class="indexterm" name="id2594505"></a> 1482 <a class="indexterm" name="id2594512"></a> 1483 1483 Machine accounts are managed with the sambaSamAccount ObjectClass, just 1484 1484 like user accounts. However, it is up to you to store those accounts … … 1489 1489 configuration file). 1490 1490 </p><p> 1491 <a class="indexterm" name="id25945 00"></a>1492 <a class="indexterm" name="id25945 07"></a>1493 <a class="indexterm" name="id25945 14"></a>1494 <a class="indexterm" name="id25945 20"></a>1491 <a class="indexterm" name="id2594542"></a> 1492 <a class="indexterm" name="id2594548"></a> 1493 <a class="indexterm" name="id2594555"></a> 1494 <a class="indexterm" name="id2594562"></a> 1495 1495 In Samba-3, the group management system is based on POSIX 1496 1496 groups. This means that Samba makes use of the posixGroup ObjectClass. … … 1499 1499 and, unlike MS Windows 2000 and Active Directory, Samba-3 does not 1500 1500 support nested groups. 1501 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25945 39"></a>Security and sambaSamAccount</h4></div></div></div><p>1502 <a class="indexterm" name="id25945 47"></a>1501 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594580"></a>Security and sambaSamAccount</h4></div></div></div><p> 1502 <a class="indexterm" name="id2594589"></a> 1503 1503 There are two important points to remember when discussing the security 1504 1504 of sambaSAMAccount entries in the directory. 1505 1505 </p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Never</em></span> retrieve the SambaLMPassword or 1506 <a class="indexterm" name="id2594 566"></a>1506 <a class="indexterm" name="id2594607"></a> 1507 1507 SambaNTPassword attribute values over an unencrypted LDAP session.</p></li><li><p><span class="emphasis"><em>Never</em></span> allow non-admin users to 1508 1508 view the SambaLMPassword or SambaNTPassword attribute values.</p></li></ul></div><p> 1509 <a class="indexterm" name="id2594 586"></a>1510 <a class="indexterm" name="id2594 593"></a>1511 <a class="indexterm" name="id25946 00"></a>1509 <a class="indexterm" name="id2594628"></a> 1510 <a class="indexterm" name="id2594635"></a> 1511 <a class="indexterm" name="id2594642"></a> 1512 1512 These password hashes are clear-text equivalents and can be used to impersonate 1513 1513 the user without deriving the original clear-text strings. For more information … … 1515 1515 Account Information Database section</a>. 1516 1516 </p><p> 1517 <a class="indexterm" name="id25946 22"></a>1518 <a class="indexterm" name="id25946 29"></a>1519 <a class="indexterm" name="id25946 35"></a>1520 <a class="indexterm" name="id25946 42"></a>1517 <a class="indexterm" name="id2594663"></a> 1518 <a class="indexterm" name="id2594670"></a> 1519 <a class="indexterm" name="id2594677"></a> 1520 <a class="indexterm" name="id2594684"></a> 1521 1521 To remedy the first security issue, the <a class="link" href="smb.conf.5.html#LDAPSSL" target="_top">ldap ssl</a> <code class="filename">smb.conf</code> 1522 1522 parameter defaults to require an encrypted session (<a class="link" href="smb.conf.5.html#LDAPSSL" target="_top">ldap ssl = on</a>) using the default port of <code class="constant">636</code> when … … 1526 1526 (so do not set <a class="link" href="smb.conf.5.html#LDAPSSL" target="_top">ldap ssl = off</a>). 1527 1527 </p><p> 1528 <a class="indexterm" name="id25947 04"></a>1529 <a class="indexterm" name="id25947 10"></a>1530 <a class="indexterm" name="id25947 17"></a>1528 <a class="indexterm" name="id2594745"></a> 1529 <a class="indexterm" name="id2594752"></a> 1530 <a class="indexterm" name="id2594758"></a> 1531 1531 Note that the LDAPS protocol is deprecated in favor of the LDAPv3 StartTLS 1532 1532 extended operation. However, the OpenLDAP library still provides support for 1533 1533 the older method of securing communication between clients and servers. 1534 1534 </p><p> 1535 <a class="indexterm" name="id25947 31"></a>1536 <a class="indexterm" name="id25947 38"></a>1537 <a class="indexterm" name="id25947 45"></a>1535 <a class="indexterm" name="id2594773"></a> 1536 <a class="indexterm" name="id2594780"></a> 1537 <a class="indexterm" name="id2594786"></a> 1538 1538 The second security precaution is to prevent non-administrative users from 1539 1539 harvesting password hashes from the directory. This can be done using the … … 1546 1546 by * none 1547 1547 </pre><p> 1548 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594 775"></a>LDAP Special Attributes for sambaSamAccounts</h4></div></div></div><p> The sambaSamAccount ObjectClass is composed of the attributes shown in next tables: <a class="link" href="passdb.html#attribobjclPartA" title="Table 11.3. Attributes in the sambaSamAccount ObjectClass (LDAP), Part A">Part A</a>, and <a class="link" href="passdb.html#attribobjclPartB" title="Table 11.4. Attributes in the sambaSamAccount ObjectClass (LDAP), Part B">Part B</a>.1548 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594816"></a>LDAP Special Attributes for sambaSamAccounts</h4></div></div></div><p> The sambaSamAccount ObjectClass is composed of the attributes shown in next tables: <a class="link" href="passdb.html#attribobjclPartA" title="Table 11.3. Attributes in the sambaSamAccount ObjectClass (LDAP), Part A">Part A</a>, and <a class="link" href="passdb.html#attribobjclPartB" title="Table 11.4. Attributes in the sambaSamAccount ObjectClass (LDAP), Part B">Part B</a>. 1549 1549 </p><div class="table"><a name="attribobjclPartA"></a><p class="title"><b>Table 11.3. Attributes in the sambaSamAccount ObjectClass (LDAP), Part A</b></p><div class="table-contents"><table summary="Attributes in the sambaSamAccount ObjectClass (LDAP), Part A" border="1"><colgroup><col align="left"><col align="justify"></colgroup><tbody><tr><td align="left"><code class="constant">sambaLMPassword</code></td><td align="justify">The LanMan password 16-byte hash stored as a character 1550 1550 representation of a hexadecimal string.</td></tr><tr><td align="left"><code class="constant">sambaNTPassword</code></td><td align="justify">The NT password 16-byte hash stored as a character … … 1581 1581 The Windows equivalent of UNIX UIDs.</td></tr><tr><td align="left"><code class="constant">sambaPrimaryGroupSID</code></td><td align="justify">The security identifier (SID) of the primary group 1582 1582 of the user.</td></tr><tr><td align="left"><code class="constant">sambaDomainName</code></td><td align="justify">Domain the user is part of.</td></tr></tbody></table></div></div><br class="table-break"><p> 1583 <a class="indexterm" name="id25951 23"></a>1584 <a class="indexterm" name="id25951 30"></a>1583 <a class="indexterm" name="id2595165"></a> 1584 <a class="indexterm" name="id2595171"></a> 1585 1585 The majority of these parameters are only used when Samba is acting as a PDC of 1586 1586 a domain (refer to <a class="link" href="samba-pdc.html" title="Chapter 4. Domain Control">Domain Control</a>, for details on 1587 1587 how to configure Samba as a PDC). The following four attributes 1588 1588 are only stored with the sambaSamAccount entry if the values are non-default values: 1589 </p><div class="itemizedlist"><a class="indexterm" name="id25951 52"></a><a class="indexterm" name="id2595158"></a><a class="indexterm" name="id2595165"></a><a class="indexterm" name="id2595172"></a><ul type="disc"><li><p>sambaHomePath</p></li><li><p>sambaLogonScript</p></li><li><p>sambaProfilePath</p></li><li><p>sambaHomeDrive</p></li></ul></div><p>1590 <a class="indexterm" name="id25952 01"></a>1591 <a class="indexterm" name="id25952 08"></a>1592 <a class="indexterm" name="id25952 14"></a>1589 </p><div class="itemizedlist"><a class="indexterm" name="id2595193"></a><a class="indexterm" name="id2595200"></a><a class="indexterm" name="id2595207"></a><a class="indexterm" name="id2595214"></a><ul type="disc"><li><p>sambaHomePath</p></li><li><p>sambaLogonScript</p></li><li><p>sambaProfilePath</p></li><li><p>sambaHomeDrive</p></li></ul></div><p> 1590 <a class="indexterm" name="id2595243"></a> 1591 <a class="indexterm" name="id2595250"></a> 1592 <a class="indexterm" name="id2595256"></a> 1593 1593 These attributes are only stored with the sambaSamAccount entry if 1594 1594 the values are non-default values. For example, assume MORIA has now been … … 1601 1601 will only write the attribute value to the directory entry if the value is 1602 1602 something other than the default (e.g., <code class="filename">\\MOBY\becky</code>). 1603 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2595 288"></a>Example LDIF Entries for a sambaSamAccount</h4></div></div></div><p>1603 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2595330"></a>Example LDIF Entries for a sambaSamAccount</h4></div></div></div><p> 1604 1604 The following is a working LDIF that demonstrates the use of the SambaSamAccount ObjectClass: 1605 1605 </p><pre class="programlisting"> … … 1646 1646 sambaNTPassword: 878D8014606CDA29677A44EFA1353FC7 1647 1647 </pre><p> 1648 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25953 36"></a>Password Synchronization</h4></div></div></div><p>1648 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2595377"></a>Password Synchronization</h4></div></div></div><p> 1649 1649 Samba-3 and later can update the non-Samba (LDAP) password stored with an account. When 1650 1650 using pam_ldap, this allows changing both UNIX and Windows passwords at once. … … 1655 1655 <code class="constant">SambaLMPassword</code>.</p></td></tr><tr><td align="left">only</td><td align="justify"><p>Only update the LDAP password and let the LDAP server 1656 1656 worry about the other fields. This option is only available on some LDAP servers and 1657 only when the LDAP server supports LDAP_EXOP_X_MODIFY_PASSWD.</p></td></tr></tbody></table></div></div><br class="table-break"><p>More information can be found in the <code class="filename">smb.conf</code> man page.</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2595 488"></a>Using OpenLDAP Overlay for Password Syncronization</h4></div></div></div><p>1657 only when the LDAP server supports LDAP_EXOP_X_MODIFY_PASSWD.</p></td></tr></tbody></table></div></div><br class="table-break"><p>More information can be found in the <code class="filename">smb.conf</code> man page.</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2595530"></a>Using OpenLDAP Overlay for Password Synchronization</h4></div></div></div><p> 1658 1658 Howard Chu has written a special overlay called <code class="literal">smbk5pwd</code>. This tool modifies the 1659 1659 <code class="literal">SambaNTPassword</code>, <code class="literal">SambaLMPassword</code> and <code class="literal">Heimdal</code> … … 1663 1663 <code class="filename">contrib/slapd-modules/smbk5pwd</code> subdirectory. This module can also be used with 1664 1664 OpenLDAP-2.2. 1665 </p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id25955 39"></a>Common Errors</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595545"></a>Users Cannot Logon</h3></div></div></div><p>“<span class="quote">I've installed Samba, but now I can't log on with my UNIX account! </span>”</p><p>Make sure your user has been added to the current Samba <a class="link" href="smb.conf.5.html#PASSDBBACKEND" target="_top">passdb backend</a>.1666 Read the <a class="link" href="passdb.html#acctmgmttools" title="Account Management Tools">Account Management Tools,</a> for details.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595 582"></a>Configuration of <em class="parameter"><code>auth methods</code></em></h3></div></div></div><p>1665 </p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2595581"></a>Common Errors</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595586"></a>Users Cannot Logon</h3></div></div></div><p>“<span class="quote">I've installed Samba, but now I can't log on with my UNIX account! </span>”</p><p>Make sure your user has been added to the current Samba <a class="link" href="smb.conf.5.html#PASSDBBACKEND" target="_top">passdb backend</a>. 1666 Read the <a class="link" href="passdb.html#acctmgmttools" title="Account Management Tools">Account Management Tools,</a> for details.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595624"></a>Configuration of <em class="parameter"><code>auth methods</code></em></h3></div></div></div><p> 1667 1667 When explicitly setting an <a class="link" href="smb.conf.5.html#AUTHMETHODS" target="_top">auth methods</a> parameter, 1668 1668 <em class="parameter"><code>guest</code></em> must be specified as the first entry on the line
Note:
See TracChangeset
for help on using the changeset viewer.