Changeset 286 for branches/samba-3.0/docs/htmldocs/Samba3-HOWTO/passdb.html
- Timestamp:
- Jun 24, 2009, 5:09:21 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/docs/htmldocs/Samba3-HOWTO/passdb.html
r158 r286 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.7 3.2"><link rel="start" 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="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="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="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="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="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="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#id348876">Features and Benefits</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id348911">Backward Compatibility Account Storage Systems</a></span></dt><dt><span class="sect2"><a href="passdb.html#id349080">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#id349614">Important Notes About Security</a></span></dt><dt><span class="sect2"><a href="passdb.html#id350095">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#id350615">Comments Regarding LDAP</a></span></dt><dt><span class="sect2"><a href="passdb.html#id350989">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#id351401">The <code class="literal">smbpasswd</code> Tool</a></span></dt><dt><span class="sect2"><a href="passdb.html#pdbeditthing">The <code class="literal">pdbedit</code> Tool</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#id353754">Password Backends</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id353800">Plaintext</a></span></dt><dt><span class="sect2"><a href="passdb.html#id353871">smbpasswd: Encrypted Password Database</a></span></dt><dt><span class="sect2"><a href="passdb.html#id354120">tdbsam</a></span></dt><dt><span class="sect2"><a href="passdb.html#id354266">ldapsam</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#id356605">Common Errors</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id356611">Users Cannot Logon</a></span></dt><dt><span class="sect2"><a href="passdb.html#id356645">Configuration of <em class="parameter"><code>auth methods</code></em></a></span></dt></dl></dd></dl></div><p>2 <a class="indexterm" name="id 348692"></a>3 <a class="indexterm" name="id 348698"></a>4 <a class="indexterm" name="id 348705"></a>5 <a class="indexterm" name="id 348712"></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.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="id2587019"></a> 3 <a class="indexterm" name="id2587026"></a> 4 <a class="indexterm" name="id2587033"></a> 5 <a class="indexterm" name="id2587040"></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="id 348724"></a>11 <a class="indexterm" name="id 348731"></a>12 <a class="indexterm" name="id 348738"></a>13 <a class="indexterm" name="id 348744"></a>14 <a class="indexterm" name="id 348751"></a>15 <a class="indexterm" name="id 348758"></a>10 <a class="indexterm" name="id2587054"></a> 11 <a class="indexterm" name="id2587061"></a> 12 <a class="indexterm" name="id2587068"></a> 13 <a class="indexterm" name="id2587075"></a> 14 <a class="indexterm" name="id2587082"></a> 15 <a class="indexterm" name="id2587088"></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="id 348823"></a>27 <a class="indexterm" name="id 348830"></a>28 <a class="indexterm" name="id 348837"></a>29 <a class="indexterm" name="id 348844"></a>30 <a class="indexterm" name="id 348851"></a>31 <a class="indexterm" name="id 348857"></a>32 <a class="indexterm" name="id 348864"></a>26 <a class="indexterm" name="id2587159"></a> 27 <a class="indexterm" name="id2587166"></a> 28 <a class="indexterm" name="id2587173"></a> 29 <a class="indexterm" name="id2587180"></a> 30 <a class="indexterm" name="id2587187"></a> 31 <a class="indexterm" name="id2587194"></a> 32 <a class="indexterm" name="id2587201"></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="id 348876"></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="id2587217"></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="id 348885"></a>42 <a class="indexterm" name="id 348894"></a>43 <a class="indexterm" name="id 348903"></a>44 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id 348911"></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="id 348928"></a>46 <a class="indexterm" name="id 348935"></a>47 <a class="indexterm" name="id 348942"></a>48 <a class="indexterm" name="id 348948"></a>49 <a class="indexterm" name="id 348955"></a>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> 45 <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> 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="id 348998"></a>58 <a class="indexterm" name="id 349005"></a>59 <a class="indexterm" name="id 349012"></a>60 <a class="indexterm" name="id 349019"></a>57 <a class="indexterm" name="id2587345"></a> 58 <a class="indexterm" name="id2587351"></a> 59 <a class="indexterm" name="id2587358"></a> 60 <a class="indexterm" name="id2587365"></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="id 349052"></a>73 <a class="indexterm" name="id 349059"></a>74 <a class="indexterm" name="id 349066"></a>72 <a class="indexterm" name="id2587404"></a> 73 <a class="indexterm" name="id2587411"></a> 74 <a class="indexterm" name="id2587418"></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="id 349080"></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="id2587436"></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="id 349089"></a>83 <a class="indexterm" name="id 349098"></a>82 <a class="indexterm" name="id2587446"></a> 83 <a class="indexterm" name="id2587455"></a> 84 84 </p><div class="variablelist"><dl><dt><span class="term">tdbsam</span></dt><dd><p> 85 <a class="indexterm" name="id 349119"></a>86 <a class="indexterm" name="id 349126"></a>87 <a class="indexterm" name="id 349133"></a>85 <a class="indexterm" name="id2587476"></a> 86 <a class="indexterm" name="id2587483"></a> 87 <a class="indexterm" name="id2587490"></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="id 349144"></a>93 <a class="indexterm" name="id 349151"></a>94 <a class="indexterm" name="id 349158"></a>95 <a class="indexterm" name="id 349164"></a>96 <a class="indexterm" name="id 349171"></a>97 <a class="indexterm" name="id 349178"></a>92 <a class="indexterm" name="id2587502"></a> 93 <a class="indexterm" name="id2587509"></a> 94 <a class="indexterm" name="id2587516"></a> 95 <a class="indexterm" name="id2587523"></a> 96 <a class="indexterm" name="id2587530"></a> 97 <a class="indexterm" name="id2587537"></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="id 349198"></a>106 <a class="indexterm" name="id 349205"></a>107 <a class="indexterm" name="id 349212"></a>105 <a class="indexterm" name="id2587561"></a> 106 <a class="indexterm" name="id2587568"></a> 107 <a class="indexterm" name="id2587575"></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="id 349237"></a>115 <a class="indexterm" name="id 349244"></a>114 <a class="indexterm" name="id2587603"></a> 115 <a class="indexterm" name="id2587610"></a> 116 116 This provides a rich directory backend for distributed account installation. 117 117 </p><p> 118 <a class="indexterm" name="id 349255"></a>119 <a class="indexterm" name="id 349262"></a>120 <a class="indexterm" name="id 349269"></a>121 <a class="indexterm" name="id 349275"></a>122 <a class="indexterm" name="id 349282"></a>118 <a class="indexterm" name="id2587622"></a> 119 <a class="indexterm" name="id2587629"></a> 120 <a class="indexterm" name="id2587636"></a> 121 <a class="indexterm" name="id2587642"></a> 122 <a class="indexterm" name="id2587649"></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="id 349302"></a>128 <a class="indexterm" name="id 349309"></a>129 <a class="indexterm" name="id 349316"></a>130 <a class="indexterm" name="id 349323"></a>131 <a class="indexterm" name="id 349330"></a>127 <a class="indexterm" name="id2587671"></a> 128 <a class="indexterm" name="id2587678"></a> 129 <a class="indexterm" name="id2587685"></a> 130 <a class="indexterm" name="id2587692"></a> 131 <a class="indexterm" name="id2587699"></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="id 349361"></a>139 <a class="indexterm" name="id 349368"></a>138 <a class="indexterm" name="id2587734"></a> 139 <a class="indexterm" name="id2587740"></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="id 349379"></a>144 <a class="indexterm" name="id 349386"></a>145 <a class="indexterm" name="id 349393"></a>146 <a class="indexterm" name="id 349400"></a>143 <a class="indexterm" name="id2587754"></a> 144 <a class="indexterm" name="id2587761"></a> 145 <a class="indexterm" name="id2587768"></a> 146 <a class="indexterm" name="id2587774"></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="id 349412"></a>152 <a class="indexterm" name="id 349419"></a>151 <a class="indexterm" name="id2587789"></a> 152 <a class="indexterm" name="id2587796"></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="id 349432"></a>159 <a class="indexterm" name="id 349439"></a>160 <a class="indexterm" name="id 349446"></a>161 <a class="indexterm" name="id 349453"></a>158 <a class="indexterm" name="id2587812"></a> 159 <a class="indexterm" name="id2587819"></a> 160 <a class="indexterm" name="id2587826"></a> 161 <a class="indexterm" name="id2587833"></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, 164 164 the location where the user's profile is stored, and so on. Samba retrieves and stores this 165 information using a <a class="link" href="smb.conf.5.html#PASSDBBACKEND" >passdb backend</a>. Commonly available backends are LDAP,165 information using a <a class="link" href="smb.conf.5.html#PASSDBBACKEND" target="_top">passdb backend</a>. Commonly available backends are LDAP, 166 166 tdbsam, and plain text file. For more information, see the man page for <code class="filename">smb.conf</code> regarding the 167 <a class="link" href="smb.conf.5.html#PASSDBBACKEND" >passdb backend</a> parameter.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="id 349534"></a>170 <a class="indexterm" name="id 349541"></a>171 <a class="indexterm" name="id 349547"></a>169 <a class="indexterm" name="id2587922"></a> 170 <a class="indexterm" name="id2587929"></a> 171 <a class="indexterm" name="id2587935"></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="id 349614"></a>Important Notes About Security</h3></div></div></div><p>176 <a class="indexterm" name="id 349622"></a>177 <a class="indexterm" name="id 349628"></a>178 <a class="indexterm" name="id 349635"></a>179 <a class="indexterm" name="id 349642"></a>180 <a class="indexterm" name="id 349649"></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="id2588005"></a>Important Notes About Security</h3></div></div></div><p> 176 <a class="indexterm" name="id2588013"></a> 177 <a class="indexterm" name="id2588020"></a> 178 <a class="indexterm" name="id2588027"></a> 179 <a class="indexterm" name="id2588034"></a> 180 <a class="indexterm" name="id2588041"></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="id 349670"></a>195 <a class="indexterm" name="id 349677"></a>196 <a class="indexterm" name="id 349684"></a>194 <a class="indexterm" name="id2588070"></a> 195 <a class="indexterm" name="id2588077"></a> 196 <a class="indexterm" name="id2588083"></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="id 349697"></a>202 <a class="indexterm" name="id 349704"></a>201 <a class="indexterm" name="id2588099"></a> 202 <a class="indexterm" name="id2588106"></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="id 349716"></a>208 <a class="indexterm" name="id 349723"></a>207 <a class="indexterm" name="id2588120"></a> 208 <a class="indexterm" name="id2588127"></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="id 349758"></a>213 <a class="indexterm" name="id 349765"></a>214 <a class="indexterm" name="id 349772"></a>212 <a class="indexterm" name="id2588166"></a> 213 <a class="indexterm" name="id2588172"></a> 214 <a class="indexterm" name="id2588179"></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="id 349814"></a>220 <a class="indexterm" name="id 349821"></a>221 <a class="indexterm" name="id 349828"></a>222 <a class="indexterm" name="id 349835"></a>223 <a class="indexterm" name="id 349842"></a>224 <a class="indexterm" name="id 349849"></a>219 <a class="indexterm" name="id2588225"></a> 220 <a class="indexterm" name="id2588231"></a> 221 <a class="indexterm" name="id2588238"></a> 222 <a class="indexterm" name="id2588245"></a> 223 <a class="indexterm" name="id2588252"></a> 224 <a class="indexterm" name="id2588259"></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="id 349862"></a>232 <a class="indexterm" name="id 349869"></a>233 <a class="indexterm" name="id 349875"></a>234 <a class="indexterm" name="id 349882"></a>235 <a class="indexterm" name="id 349889"></a>231 <a class="indexterm" name="id2588275"></a> 232 <a class="indexterm" name="id2588282"></a> 233 <a class="indexterm" name="id2588289"></a> 234 <a class="indexterm" name="id2588296"></a> 235 <a class="indexterm" name="id2588303"></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="id 349901"></a>Advantages of Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>243 <a class="indexterm" name="id 349912"></a>244 <a class="indexterm" name="id 349919"></a>245 <a class="indexterm" name="id 349926"></a>242 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2588320"></a>Advantages of Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p> 243 <a class="indexterm" name="id2588331"></a> 244 <a class="indexterm" name="id2588338"></a> 245 <a class="indexterm" name="id2588345"></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="id 349939"></a>250 <a class="indexterm" name="id 349946"></a>251 <a class="indexterm" name="id 349952"></a>249 <a class="indexterm" name="id2588359"></a> 250 <a class="indexterm" name="id2588366"></a> 251 <a class="indexterm" name="id2588373"></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="id 349964"></a>255 <a class="indexterm" name="id 349971"></a>256 <a class="indexterm" name="id 349978"></a>257 <a class="indexterm" name="id 349985"></a>254 <a class="indexterm" name="id2588385"></a> 255 <a class="indexterm" name="id2588392"></a> 256 <a class="indexterm" name="id2588399"></a> 257 <a class="indexterm" name="id2588406"></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="id 349999"></a>264 <a class="indexterm" name="id 350006"></a>263 <a class="indexterm" name="id2588423"></a> 264 <a class="indexterm" name="id2588430"></a> 265 265 Encrypted password support allows automatic share (resource) reconnects. 266 266 </p></li><li><p> 267 <a class="indexterm" name="id 350017"></a>268 <a class="indexterm" name="id 350024"></a>267 <a class="indexterm" name="id2588443"></a> 268 <a class="indexterm" name="id2588450"></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="id 350034"></a>Advantages of Non-Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>271 <a class="indexterm" name="id 350045"></a>270 </p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2588460"></a>Advantages of Non-Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p> 271 <a class="indexterm" name="id2588472"></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="id 350057"></a>275 <a class="indexterm" name="id 350064"></a>274 <a class="indexterm" name="id2588485"></a> 275 <a class="indexterm" name="id2588491"></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="id 350076"></a>279 <a class="indexterm" name="id 350083"></a>278 <a class="indexterm" name="id2588504"></a> 279 <a class="indexterm" name="id2588511"></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="id 350095"></a>Mapping User Identifiers between MS Windows and UNIX</h3></div></div></div><p>283 <a class="indexterm" name="id 350103"></a>284 <a class="indexterm" name="id 350109"></a>285 <a class="indexterm" name="id 350116"></a>282 </p></li></ul></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2588524"></a>Mapping User Identifiers between MS Windows and UNIX</h3></div></div></div><p> 283 <a class="indexterm" name="id2588533"></a> 284 <a class="indexterm" name="id2588539"></a> 285 <a class="indexterm" name="id2588546"></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="id 350128"></a>291 <a class="indexterm" name="id 350135"></a>292 <a class="indexterm" name="id 350141"></a>293 <a class="indexterm" name="id 350148"></a>294 <a class="indexterm" name="id 350155"></a>290 <a class="indexterm" name="id2588560"></a> 291 <a class="indexterm" name="id2588567"></a> 292 <a class="indexterm" name="id2588573"></a> 293 <a class="indexterm" name="id2588580"></a> 294 <a class="indexterm" name="id2588587"></a> 295 295 First, all Samba SAM database accounts require a UNIX/Linux UID that the account will map to. As users are 296 added to the account information database, Samba will call the <a class="link" href="smb.conf.5.html#ADDUSERSCRIPT" >add user script</a>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> 297 297 interface to add the account to the Samba host OS. In essence all accounts in the local SAM require a local 298 298 user account. 299 299 </p><p> 300 <a class="indexterm" name="id 350179"></a>301 <a class="indexterm" name="id 350185"></a>302 <a class="indexterm" name="id 350192"></a>303 <a class="indexterm" name="id 350198"></a>304 <a class="indexterm" name="id 350205"></a>305 <a class="indexterm" name="id 350212"></a>306 <a class="indexterm" name="id 350219"></a>300 <a class="indexterm" name="id2588616"></a> 301 <a class="indexterm" name="id2588622"></a> 302 <a class="indexterm" name="id2588629"></a> 303 <a class="indexterm" name="id2588635"></a> 304 <a class="indexterm" name="id2588642"></a> 305 <a class="indexterm" name="id2588649"></a> 306 <a class="indexterm" name="id2588656"></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="id 350255"></a>313 <a class="indexterm" name="id 350261"></a>314 <a class="indexterm" name="id 350268"></a>315 <a class="indexterm" name="id 350274"></a>316 <a class="indexterm" name="id 350281"></a>317 <a class="indexterm" name="id 350287"></a>312 <a class="indexterm" name="id2588695"></a> 313 <a class="indexterm" name="id2588702"></a> 314 <a class="indexterm" name="id2588708"></a> 315 <a class="indexterm" name="id2588715"></a> 316 <a class="indexterm" name="id2588722"></a> 317 <a class="indexterm" name="id2588728"></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="id 350307"></a>325 <a class="indexterm" name="id 350314"></a>326 <a class="indexterm" name="id 350320"></a>327 <a class="indexterm" name="id 350327"></a>328 <a class="indexterm" name="id 350334"></a>329 <a class="indexterm" name="id 350340"></a>330 <a class="indexterm" name="id 350347"></a>331 <a class="indexterm" name="id 350354"></a>324 <a class="indexterm" name="id2588752"></a> 325 <a class="indexterm" name="id2588758"></a> 326 <a class="indexterm" name="id2588765"></a> 327 <a class="indexterm" name="id2588772"></a> 328 <a class="indexterm" name="id2588778"></a> 329 <a class="indexterm" name="id2588785"></a> 330 <a class="indexterm" name="id2588792"></a> 331 <a class="indexterm" name="id2588799"></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="id 350379"></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="id350411"></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="id350427"></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="id 350442"></a>340 <a class="indexterm" name="id 350448"></a>338 </p><a class="indexterm" name="id2588827"></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="id2588892"></a> 340 <a class="indexterm" name="id2588899"></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="id 350470"></a>346 <a class="indexterm" name="id 350476"></a>347 <a class="indexterm" name="id 350483"></a>348 <a class="indexterm" name="id 350489"></a>349 <a class="indexterm" name="id 350496"></a>350 <a class="indexterm" name="id 350503"></a>351 <a class="indexterm" name="id 350510"></a>352 <a class="indexterm" name="id 350516"></a>345 <a class="indexterm" name="id2588923"></a> 346 <a class="indexterm" name="id2588930"></a> 347 <a class="indexterm" name="id2588936"></a> 348 <a class="indexterm" name="id2588943"></a> 349 <a class="indexterm" name="id2588950"></a> 350 <a class="indexterm" name="id2588957"></a> 351 <a class="indexterm" name="id2588964"></a> 352 <a class="indexterm" name="id2588970"></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="id 350535"></a>358 <a class="indexterm" name="id 350542"></a>359 <a class="indexterm" name="id 350548"></a>360 <a class="indexterm" name="id 350555"></a>357 <a class="indexterm" name="id2588990"></a> 358 <a class="indexterm" name="id2588997"></a> 359 <a class="indexterm" name="id2589004"></a> 360 <a class="indexterm" name="id2589010"></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="id 350572"></a>365 <a class="indexterm" name="id 350579"></a>366 <a class="indexterm" name="id 350586"></a>367 <a class="indexterm" name="id 350593"></a>364 <a class="indexterm" name="id2589029"></a> 365 <a class="indexterm" name="id2589036"></a> 366 <a class="indexterm" name="id2589043"></a> 367 <a class="indexterm" name="id2589050"></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="id 350615"></a>Comments Regarding LDAP</h3></div></div></div><p>372 <a class="indexterm" name="id 350622"></a>373 <a class="indexterm" name="id 350632"></a>374 <a class="indexterm" name="id 350638"></a>375 <a class="indexterm" name="id 350645"></a>371 </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589073"></a>Comments Regarding LDAP</h3></div></div></div><p> 372 <a class="indexterm" name="id2589081"></a> 373 <a class="indexterm" name="id2589090"></a> 374 <a class="indexterm" name="id2589097"></a> 375 <a class="indexterm" name="id2589104"></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="id 350659"></a>383 <a class="indexterm" name="id 350666"></a>384 <a class="indexterm" name="id 350672"></a>385 <a class="indexterm" name="id 350679"></a>382 <a class="indexterm" name="id2589122"></a> 383 <a class="indexterm" name="id2589128"></a> 384 <a class="indexterm" name="id2589135"></a> 385 <a class="indexterm" name="id2589142"></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="id 350692"></a>392 <a class="indexterm" name="id 350699"></a>393 <a class="indexterm" name="id 350706"></a>394 <a class="indexterm" name="id 350713"></a>395 <a class="indexterm" name="id 350720"></a>396 <a class="indexterm" name="id 350726"></a>397 <a class="indexterm" name="id 350733"></a>398 <a class="indexterm" name="id 350740"></a>399 <a class="indexterm" name="id 350747"></a>400 <a class="indexterm" name="id 350754"></a>401 <a class="indexterm" name="id 350760"></a>402 <a class="indexterm" name="id 350767"></a>403 <a class="indexterm" name="id 350774"></a>404 <a class="indexterm" name="id 350781"></a>391 <a class="indexterm" name="id2589158"></a> 392 <a class="indexterm" name="id2589165"></a> 393 <a class="indexterm" name="id2589172"></a> 394 <a class="indexterm" name="id2589179"></a> 395 <a class="indexterm" name="id2589186"></a> 396 <a class="indexterm" name="id2589193"></a> 397 <a class="indexterm" name="id2589200"></a> 398 <a class="indexterm" name="id2589207"></a> 399 <a class="indexterm" name="id2589214"></a> 400 <a class="indexterm" name="id2589220"></a> 401 <a class="indexterm" name="id2589227"></a> 402 <a class="indexterm" name="id2589234"></a> 403 <a class="indexterm" name="id2589241"></a> 404 <a class="indexterm" name="id2589248"></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="id 350796"></a>414 <a class="indexterm" name="id 350803"></a>415 <a class="indexterm" name="id 350810"></a>416 <a class="indexterm" name="id 350816"></a>417 <a class="indexterm" name="id 350823"></a>418 <a class="indexterm" name="id 350830"></a>413 <a class="indexterm" name="id2589268"></a> 414 <a class="indexterm" name="id2589275"></a> 415 <a class="indexterm" name="id2589282"></a> 416 <a class="indexterm" name="id2589289"></a> 417 <a class="indexterm" name="id2589296"></a> 418 <a class="indexterm" name="id2589302"></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="id 350844"></a>427 <a class="indexterm" name="id 350851"></a>426 <a class="indexterm" name="id2589321"></a> 427 <a class="indexterm" name="id2589328"></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="id 350866"></a>Caution Regarding LDAP and Samba</h4></div></div></div><p>435 <a class="indexterm" name="id 350874"></a>436 <a class="indexterm" name="id 350881"></a>437 <a class="indexterm" name="id 350888"></a>438 <a class="indexterm" name="id 350894"></a>439 <a class="indexterm" name="id 350901"></a>440 <a class="indexterm" name="id 350908"></a>441 <a class="indexterm" name="id 350915"></a>434 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2589348"></a>Caution Regarding LDAP and Samba</h4></div></div></div><p> 435 <a class="indexterm" name="id2589356"></a> 436 <a class="indexterm" name="id2589363"></a> 437 <a class="indexterm" name="id2589370"></a> 438 <a class="indexterm" name="id2589377"></a> 439 <a class="indexterm" name="id2589384"></a> 440 <a class="indexterm" name="id2589391"></a> 441 <a class="indexterm" name="id2589398"></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="id 350928"></a>448 <a class="indexterm" name="id 350935"></a>449 <a class="indexterm" name="id 350942"></a>447 <a class="indexterm" name="id2589415"></a> 448 <a class="indexterm" name="id2589422"></a> 449 <a class="indexterm" name="id2589429"></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="id 350956"></a>456 <a class="indexterm" name="id2589446"></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="id 350970"></a>465 <a class="indexterm" name="id 350977"></a>464 <a class="indexterm" name="id2589465"></a> 465 <a class="indexterm" name="id2589471"></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="id 350989"></a>LDAP Directories and Windows Computer Accounts</h3></div></div></div><p>470 <a class="indexterm" name="id 350997"></a>471 <a class="indexterm" name="id 351004"></a>472 <a class="indexterm" name="id 351010"></a>469 </p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589486"></a>LDAP Directories and Windows Computer Accounts</h3></div></div></div><p> 470 <a class="indexterm" name="id2589494"></a> 471 <a class="indexterm" name="id2589501"></a> 472 <a class="indexterm" name="id2589508"></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="id 351023"></a>479 <a class="indexterm" name="id 351030"></a>480 <a class="indexterm" name="id 351037"></a>478 <a class="indexterm" name="id2589524"></a> 479 <a class="indexterm" name="id2589530"></a> 480 <a class="indexterm" name="id2589537"></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="id 351048"></a>485 <a class="indexterm" name="id 351055"></a>486 <a class="indexterm" name="id 351062"></a>487 <a class="indexterm" name="id 351069"></a>488 <a class="indexterm" name="id 351075"></a>489 <a class="indexterm" name="id 351082"></a>490 <a class="indexterm" name="id 351089"></a>484 <a class="indexterm" name="id2589550"></a> 485 <a class="indexterm" name="id2589557"></a> 486 <a class="indexterm" name="id2589564"></a> 487 <a class="indexterm" name="id2589571"></a> 488 <a class="indexterm" name="id2589578"></a> 489 <a class="indexterm" name="id2589585"></a> 490 <a class="indexterm" name="id2589592"></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 … … 494 494 the machine account ends in a $ character, as do trust accounts. 495 495 </p><p> 496 <a class="indexterm" name="id 351102"></a>497 <a class="indexterm" name="id 351109"></a>498 <a class="indexterm" name="id 351116"></a>499 <a class="indexterm" name="id 351122"></a>500 <a class="indexterm" name="id 351129"></a>496 <a class="indexterm" name="id2589608"></a> 497 <a class="indexterm" name="id2589615"></a> 498 <a class="indexterm" name="id2589621"></a> 499 <a class="indexterm" name="id2589628"></a> 500 <a class="indexterm" name="id2589635"></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="id 351142"></a>507 <a class="indexterm" name="id 351148"></a>508 <a class="indexterm" name="id 351155"></a>506 <a class="indexterm" name="id2589650"></a> 507 <a class="indexterm" name="id2589657"></a> 508 <a class="indexterm" name="id2589663"></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="id 351167"></a>515 <a class="indexterm" name="id 351174"></a>516 <a class="indexterm" name="id 351181"></a>517 <a class="indexterm" name="id 351188"></a>518 <a class="indexterm" name="id 351194"></a>519 <a class="indexterm" name="id 351201"></a>520 <a class="indexterm" name="id 351208"></a>514 <a class="indexterm" name="id2589678"></a> 515 <a class="indexterm" name="id2589685"></a> 516 <a class="indexterm" name="id2589692"></a> 517 <a class="indexterm" name="id2589698"></a> 518 <a class="indexterm" name="id2589705"></a> 519 <a class="indexterm" name="id2589712"></a> 520 <a class="indexterm" name="id2589719"></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="id 351232"></a>529 <a class="indexterm" name="id 351239"></a>530 <a class="indexterm" name="id 351246"></a>531 <a class="indexterm" name="id 351252"></a>532 <a class="indexterm" name="id 351259"></a>528 <a class="indexterm" name="id2589747"></a> 529 <a class="indexterm" name="id2589754"></a> 530 <a class="indexterm" name="id2589760"></a> 531 <a class="indexterm" name="id2589767"></a> 532 <a class="indexterm" name="id2589774"></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="id 351285"></a>540 <a class="indexterm" name="id 351292"></a>541 <a class="indexterm" name="id 351298"></a>539 <a class="indexterm" name="id2589804"></a> 540 <a class="indexterm" name="id2589811"></a> 541 <a class="indexterm" name="id2589818"></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="id 351321"></a>546 <a class="indexterm" name="id 351328"></a>547 <a class="indexterm" name="id 351334"></a>545 <a class="indexterm" name="id2589841"></a> 546 <a class="indexterm" name="id2589848"></a> 547 <a class="indexterm" name="id2589854"></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="id 351353"></a>554 <a class="indexterm" name="id 351359"></a>555 <a class="indexterm" name="id 351366"></a>556 <a class="indexterm" name="id 351373"></a>553 <a class="indexterm" name="id2589875"></a> 554 <a class="indexterm" name="id2589882"></a> 555 <a class="indexterm" name="id2589888"></a> 556 <a class="indexterm" name="id2589895"></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="id 351401"></a>The <code class="literal">smbpasswd</code> Tool</h3></div></div></div><p>562 <a class="indexterm" name="id 351415"></a>563 <a class="indexterm" name="id 351422"></a>564 <a class="indexterm" name="id 351429"></a>565 <a class="indexterm" name="id 351435"></a>566 <a class="indexterm" name="id 351442"></a>561 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589927"></a>The <code class="literal">smbpasswd</code> Tool</h3></div></div></div><p> 562 <a class="indexterm" name="id2589940"></a> 563 <a class="indexterm" name="id2589947"></a> 564 <a class="indexterm" name="id2589954"></a> 565 <a class="indexterm" name="id2589960"></a> 566 <a class="indexterm" name="id2589967"></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="id 351484"></a>574 <a class="indexterm" name="id 351491"></a>573 <a class="indexterm" name="id2590011"></a> 574 <a class="indexterm" name="id2590018"></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="id 351508"></a>579 <a class="indexterm" name="id 351515"></a>578 <a class="indexterm" name="id2590037"></a> 579 <a class="indexterm" name="id2590043"></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="id 351532"></a>585 <a class="indexterm" name="id 351539"></a>584 <a class="indexterm" name="id2590062"></a> 585 <a class="indexterm" name="id2590069"></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="id 351674"></a>604 <a class="indexterm" name="id2590209"></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="id 351685"></a>609 <a class="indexterm" name="id 351692"></a>608 <a class="indexterm" name="id2590222"></a> 609 <a class="indexterm" name="id2590228"></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="id 351716"></a>616 <a class="indexterm" name="id 351723"></a>617 <a class="indexterm" name="id 351730"></a>618 <a class="indexterm" name="id 351736"></a>615 <a class="indexterm" name="id2590255"></a> 616 <a class="indexterm" name="id2590262"></a> 617 <a class="indexterm" name="id2590269"></a> 618 <a class="indexterm" name="id2590275"></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="id 351766"></a>624 <a class="indexterm" name="id2590307"></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="id 351799"></a>629 <a class="indexterm" name="id 351806"></a>630 <a class="indexterm" name="id 351813"></a>631 <a class="indexterm" name="id 351820"></a>628 <a class="indexterm" name="id2590341"></a> 629 <a class="indexterm" name="id2590348"></a> 630 <a class="indexterm" name="id2590354"></a> 631 <a class="indexterm" name="id2590361"></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="id 351876"></a>636 <a class="indexterm" name="id2590421"></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="id 351941"></a>643 <a class="indexterm" name="id 351948"></a>642 <a class="indexterm" name="id2590493"></a> 643 <a class="indexterm" name="id2590500"></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="id 351961"></a>650 <a class="indexterm" name="id 351968"></a>651 <a class="indexterm" name="id 351975"></a>652 <a class="indexterm" name="id 351982"></a>653 <a class="indexterm" name="id 351988"></a>649 <a class="indexterm" name="id2590516"></a> 650 <a class="indexterm" name="id2590523"></a> 651 <a class="indexterm" name="id2590530"></a> 652 <a class="indexterm" name="id2590537"></a> 653 <a class="indexterm" name="id2590544"></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 … … 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 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>Mimimum 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="id 352357"></a>664 <a class="indexterm" name="id 352363"></a>665 <a class="indexterm" name="id 352370"></a>666 <a class="indexterm" name="id 352377"></a>663 <a class="indexterm" name="id2590927"></a> 664 <a class="indexterm" name="id2590933"></a> 665 <a class="indexterm" name="id2590940"></a> 666 <a class="indexterm" name="id2590947"></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="id 352395"></a>672 <a class="indexterm" name="id 352401"></a>673 <a class="indexterm" name="id 352408"></a>671 <a class="indexterm" name="id2590966"></a> 672 <a class="indexterm" name="id2590973"></a> 673 <a class="indexterm" name="id2590980"></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="id 352423"></a>User Account Management</h4></div></div></div><p>677 <a class="indexterm" name="id 352431"></a>678 <a class="indexterm" name="id 352438"></a>679 <a class="indexterm" name="id 352445"></a>680 <a class="indexterm" name="id 352451"></a>681 <a class="indexterm" name="id 352458"></a>682 <a class="indexterm" name="id 352465"></a>683 <a class="indexterm" name="id 352472"></a>676 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2590996"></a>User Account Management</h4></div></div></div><p> 677 <a class="indexterm" name="id2591004"></a> 678 <a class="indexterm" name="id2591011"></a> 679 <a class="indexterm" name="id2591018"></a> 680 <a class="indexterm" name="id2591025"></a> 681 <a class="indexterm" name="id2591032"></a> 682 <a class="indexterm" name="id2591039"></a> 683 <a class="indexterm" name="id2591046"></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="id 352510"></a>694 <a class="indexterm" name="id 352517"></a>693 <a class="indexterm" name="id2591090"></a> 694 <a class="indexterm" name="id2591096"></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="id 352532"></a>Listing User and Machine Accounts</h5></div></div></div><p>698 <a class="indexterm" name="id 352540"></a>699 <a class="indexterm" name="id 352547"></a>697 </p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591113"></a>Listing User and Machine Accounts</h5></div></div></div><p> 698 <a class="indexterm" name="id2591121"></a> 699 <a class="indexterm" name="id2591128"></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="id 352581"></a>726 <a class="indexterm" name="id2591170"></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="id 352619"></a>752 <a class="indexterm" name="id 352626"></a>753 <a class="indexterm" name="id 352633"></a>754 <a class="indexterm" name="id 352640"></a>755 <a class="indexterm" name="id 352646"></a>756 <a class="indexterm" name="id 352653"></a>751 <a class="indexterm" name="id2591218"></a> 752 <a class="indexterm" name="id2591225"></a> 753 <a class="indexterm" name="id2591232"></a> 754 <a class="indexterm" name="id2591239"></a> 755 <a class="indexterm" name="id2591245"></a> 756 <a class="indexterm" name="id2591252"></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="id 352700"></a>761 <a class="indexterm" name="id 352707"></a>760 <a class="indexterm" name="id2591303"></a> 761 <a class="indexterm" name="id2591310"></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="id 352732"></a>765 <a class="indexterm" name="id2591337"></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="id 352742"></a>Adding User Accounts</h5></div></div></div><p>769 <a class="indexterm" name="id 352750"></a>770 <a class="indexterm" name="id 352757"></a>771 <a class="indexterm" name="id 352764"></a>772 <a class="indexterm" name="id 352770"></a>773 <a class="indexterm" name="id 352777"></a>768 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591348"></a>Adding User Accounts</h5></div></div></div><p> 769 <a class="indexterm" name="id2591356"></a> 770 <a class="indexterm" name="id2591363"></a> 771 <a class="indexterm" name="id2591370"></a> 772 <a class="indexterm" name="id2591377"></a> 773 <a class="indexterm" name="id2591383"></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="id 352819"></a>Deleting Accounts</h5></div></div></div><p>806 <a class="indexterm" name="id 352827"></a>807 <a class="indexterm" name="id 352834"></a>808 <a class="indexterm" name="id 352840"></a>809 <a class="indexterm" name="id 352847"></a>805 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591435"></a>Deleting Accounts</h5></div></div></div><p> 806 <a class="indexterm" name="id2591443"></a> 807 <a class="indexterm" name="id2591450"></a> 808 <a class="indexterm" name="id2591457"></a> 809 <a class="indexterm" name="id2591464"></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="id 352871"></a>818 <a class="indexterm" name="id 352878"></a>817 <a class="indexterm" name="id2591490"></a> 818 <a class="indexterm" name="id2591497"></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="id 352900"></a>Changing User Accounts</h5></div></div></div><p>822 <a class="indexterm" name="id 352907"></a>821 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591520"></a>Changing User Accounts</h5></div></div></div><p> 822 <a class="indexterm" name="id2591528"></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="id 352924"></a>826 <a class="indexterm" name="id2591546"></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="id 352948"></a>839 <a class="indexterm" name="id 352955"></a>840 <a class="indexterm" name="id 352962"></a>838 <a class="indexterm" name="id2591573"></a> 839 <a class="indexterm" name="id2591580"></a> 840 <a class="indexterm" name="id2591586"></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="id 352985"></a>856 <a class="indexterm" name="id 352992"></a>855 <a class="indexterm" name="id2591615"></a> 856 <a class="indexterm" name="id2591622"></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="id 353047"></a>889 <a class="indexterm" name="id 353054"></a>888 <a class="indexterm" name="id2591686"></a> 889 <a class="indexterm" name="id2591693"></a> 890 890 Refer to the strptime man page for specific time format information. 891 891 </p><p> 892 <a class="indexterm" name="id 353065"></a>893 <a class="indexterm" name="id 353072"></a>892 <a class="indexterm" name="id2591704"></a> 893 <a class="indexterm" name="id2591711"></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="id 353092"></a>898 <a class="indexterm" name="id 353098"></a>899 <a class="indexterm" name="id 353107"></a>900 <a class="indexterm" name="id 353114"></a>897 <a class="indexterm" name="id2591733"></a> 898 <a class="indexterm" name="id2591740"></a> 899 <a class="indexterm" name="id2591749"></a> 900 <a class="indexterm" name="id2591756"></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="id 353126"></a>906 <a class="indexterm" name="id 353133"></a>907 <a class="indexterm" name="id 353140"></a>908 <a class="indexterm" name="id 353146"></a>909 <a class="indexterm" name="id 353153"></a>905 <a class="indexterm" name="id2591770"></a> 906 <a class="indexterm" name="id2591777"></a> 907 <a class="indexterm" name="id2591784"></a> 908 <a class="indexterm" name="id2591791"></a> 909 <a class="indexterm" name="id2591798"></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="id 353173"></a>916 <a class="indexterm" name="id 353179"></a>915 <a class="indexterm" name="id2591821"></a> 916 <a class="indexterm" name="id2591828"></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="id 353192"></a>923 <a class="indexterm" name="id 353199"></a>922 <a class="indexterm" name="id2591844"></a> 923 <a class="indexterm" name="id2591850"></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="id 353420"></a>930 <a class="indexterm" name="id 353427"></a>929 <a class="indexterm" name="id2592081"></a> 930 <a class="indexterm" name="id2592088"></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="id 353459"></a>958 <a class="indexterm" name="id2592128"></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="id 353488"></a>Domain Account Policy Managment</h5></div></div></div><p>986 <a class="indexterm" name="id 353496"></a>987 <a class="indexterm" name="id 353503"></a>985 </p></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2592166"></a>Domain Account Policy Managment</h5></div></div></div><p> 986 <a class="indexterm" name="id2592174"></a> 987 <a class="indexterm" name="id2592181"></a> 988 988 To view the domain account access policies that may be configured execute: 989 989 </p><pre class="screen"> … … 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="id 353632"></a>Account Import/Export</h4></div></div></div><p>1036 <a class="indexterm" name="id 353640"></a>1037 <a class="indexterm" name="id 353646"></a>1038 <a class="indexterm" name="id 353653"></a>1035 </p></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2592327"></a>Account Import/Export</h4></div></div></div><p> 1036 <a class="indexterm" name="id2592335"></a> 1037 <a class="indexterm" name="id2592342"></a> 1038 <a class="indexterm" name="id2592349"></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="id 353688"></a>1044 <a class="indexterm" name="id2592386"></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="id 353717"></a>1049 <a class="indexterm" name="id2592415"></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="id 353754"></a>Password Backends</h2></div></div></div><p>1053 <a class="indexterm" name="id 353761"></a>1054 <a class="indexterm" name="id 353768"></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="id2592452"></a>Password Backends</h2></div></div></div><p> 1053 <a class="indexterm" name="id2592460"></a> 1054 <a class="indexterm" name="id2592467"></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="id 353781"></a>1061 <a class="indexterm" name="id 353788"></a>1060 <a class="indexterm" name="id2592483"></a> 1061 <a class="indexterm" name="id2592490"></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="id 353800"></a>Plaintext</h3></div></div></div><p>1068 <a class="indexterm" name="id 353808"></a>1069 <a class="indexterm" name="id 353814"></a>1070 <a class="indexterm" name="id 353821"></a>1071 <a class="indexterm" name="id 353828"></a>1072 <a class="indexterm" name="id 353835"></a>1073 <a class="indexterm" name="id 353842"></a>1067 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592506"></a>Plaintext</h3></div></div></div><p> 1068 <a class="indexterm" name="id2592513"></a> 1069 <a class="indexterm" name="id2592520"></a> 1070 <a class="indexterm" name="id2592527"></a> 1071 <a class="indexterm" name="id2592534"></a> 1072 <a class="indexterm" name="id2592541"></a> 1073 <a class="indexterm" name="id2592548"></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="id 353871"></a>smbpasswd: Encrypted Password Database</h3></div></div></div><p>1081 <a class="indexterm" name="id 353879"></a>1082 <a class="indexterm" name="id 353888"></a>1083 <a class="indexterm" name="id 353895"></a>1084 <a class="indexterm" name="id 353902"></a>1085 Traditionally, when configuring <a class="link" href="smb.conf.5.html#ENCRYPTPASSWORDS" >encrypt passwords = yes</a>1080 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592582"></a>smbpasswd: Encrypted Password Database</h3></div></div></div><p> 1081 <a class="indexterm" name="id2592590"></a> 1082 <a class="indexterm" name="id2592599"></a> 1083 <a class="indexterm" name="id2592606"></a> 1084 <a class="indexterm" name="id2592613"></a> 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, 1087 1087 password change times, and account flags have been stored in the <code class="filename">smbpasswd(5)</code> … … 1089 1089 (counted in the thousands). 1090 1090 </p><div class="itemizedlist"><ul type="disc"><li><p> 1091 <a class="indexterm" name="id 353940"></a>1091 <a class="indexterm" name="id2592656"></a> 1092 1092 The first problem is that all lookups must be performed sequentially. Given that 1093 1093 there are approximately two lookups per domain logon (one during intial logon validation … … 1096 1096 such as that used in databases. 1097 1097 </p></li><li><p> 1098 <a class="indexterm" name="id 353955"></a>1099 <a class="indexterm" name="id 353962"></a>1100 <a class="indexterm" name="id 353968"></a>1101 <a class="indexterm" name="id 353975"></a>1102 <a class="indexterm" name="id 353982"></a>1098 <a class="indexterm" name="id2592674"></a> 1099 <a class="indexterm" name="id2592680"></a> 1100 <a class="indexterm" name="id2592687"></a> 1101 <a class="indexterm" name="id2592694"></a> 1102 <a class="indexterm" name="id2592701"></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="id 354006"></a>1109 <a class="indexterm" name="id 354013"></a>1110 <a class="indexterm" name="id 354020"></a>1111 <a class="indexterm" name="id 354027"></a>1112 <a class="indexterm" name="id 354034"></a>1108 <a class="indexterm" name="id2592726"></a> 1109 <a class="indexterm" name="id2592733"></a> 1110 <a class="indexterm" name="id2592740"></a> 1111 <a class="indexterm" name="id2592747"></a> 1112 <a class="indexterm" name="id2592754"></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="id 354049"></a>1118 <a class="indexterm" name="id 354056"></a>1119 <a class="indexterm" name="id 354062"></a>1120 <a class="indexterm" name="id 354069"></a>1117 <a class="indexterm" name="id2592771"></a> 1118 <a class="indexterm" name="id2592778"></a> 1119 <a class="indexterm" name="id2592785"></a> 1120 <a class="indexterm" name="id2592792"></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="id 354082"></a>1127 <a class="indexterm" name="id 354088"></a>1128 <a class="indexterm" name="id 354095"></a>1129 <a class="indexterm" name="id 354102"></a>1130 <a class="indexterm" name="id 354109"></a>1126 <a class="indexterm" name="id2592807"></a> 1127 <a class="indexterm" name="id2592814"></a> 1128 <a class="indexterm" name="id2592821"></a> 1129 <a class="indexterm" name="id2592828"></a> 1130 <a class="indexterm" name="id2592835"></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="id 354120"></a>tdbsam</h3></div></div></div><p>1135 <a class="indexterm" name="id 354128"></a>1136 <a class="indexterm" name="id 354137"></a>1137 <a class="indexterm" name="id 354146"></a>1134 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592848"></a>tdbsam</h3></div></div></div><p> 1135 <a class="indexterm" name="id2592856"></a> 1136 <a class="indexterm" name="id2592865"></a> 1137 <a class="indexterm" name="id2592874"></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="id 354161"></a>1143 <a class="indexterm" name="id 354168"></a>1144 <a class="indexterm" name="id 354175"></a>1145 <a class="indexterm" name="id 354181"></a>1142 <a class="indexterm" name="id2592891"></a> 1143 <a class="indexterm" name="id2592898"></a> 1144 <a class="indexterm" name="id2592904"></a> 1145 <a class="indexterm" name="id2592911"></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="id 354194"></a>1152 <a class="indexterm" name="id 354201"></a>1153 <a class="indexterm" name="id 354208"></a>1151 <a class="indexterm" name="id2592927"></a> 1152 <a class="indexterm" name="id2592934"></a> 1153 <a class="indexterm" name="id2592941"></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="id 354221"></a>1160 <a class="indexterm" name="id 354227"></a>1161 <a class="indexterm" name="id 354234"></a>1162 <a class="indexterm" name="id 354241"></a>1159 <a class="indexterm" name="id2592956"></a> 1160 <a class="indexterm" name="id2592963"></a> 1161 <a class="indexterm" name="id2592970"></a> 1162 <a class="indexterm" name="id2592977"></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="id 354266"></a>ldapsam</h3></div></div></div><p>1171 <a class="indexterm" name="id 354273"></a>1172 <a class="indexterm" name="id 354280"></a>1173 <a class="indexterm" name="id 354287"></a>1170 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2593006"></a>ldapsam</h3></div></div></div><p> 1171 <a class="indexterm" name="id2593013"></a> 1172 <a class="indexterm" name="id2593020"></a> 1173 <a class="indexterm" name="id2593027"></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="id 354314"></a>1179 <a class="indexterm" name="id 354321"></a>1180 <a class="indexterm" name="id 354327"></a>1181 <a class="indexterm" name="id 354334"></a>1178 <a class="indexterm" name="id2593056"></a> 1179 <a class="indexterm" name="id2593063"></a> 1180 <a class="indexterm" name="id2593069"></a> 1181 <a class="indexterm" name="id2593076"></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="id 354362"></a>1188 <a class="indexterm" name="id 354368"></a>1189 <a class="indexterm" name="id 354375"></a>1187 <a class="indexterm" name="id2593107"></a> 1188 <a class="indexterm" name="id2593114"></a> 1189 <a class="indexterm" name="id2593120"></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="id 354448"></a>1202 <a class="indexterm" name="id2593201"></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="id 354466"></a>1207 <a class="indexterm" name="id 354473"></a>1208 <a class="indexterm" name="id 354480"></a>1206 <a class="indexterm" name="id2593220"></a> 1207 <a class="indexterm" name="id2593227"></a> 1208 <a class="indexterm" name="id2593234"></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="id 354496"></a>Supported LDAP Servers</h4></div></div></div><p>1213 <a class="indexterm" name="id 354504"></a>1214 <a class="indexterm" name="id 354511"></a>1215 <a class="indexterm" name="id 354518"></a>1216 <a class="indexterm" name="id 354525"></a>1212 </p></li></ul></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593253"></a>Supported LDAP Servers</h4></div></div></div><p> 1213 <a class="indexterm" name="id2593261"></a> 1214 <a class="indexterm" name="id2593268"></a> 1215 <a class="indexterm" name="id2593275"></a> 1216 <a class="indexterm" name="id2593282"></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="id 354547"></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="id2593308"></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="id 354581"></a>1240 <a class="indexterm" name="id 354588"></a>1241 <a class="indexterm" name="id 354595"></a>1239 <a class="indexterm" name="id2593353"></a> 1240 <a class="indexterm" name="id2593360"></a> 1241 <a class="indexterm" name="id2593367"></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="id 354619"></a>1248 <a class="indexterm" name="id 354626"></a>1249 <a class="indexterm" name="id 354632"></a>1250 <a class="indexterm" name="id 354639"></a>1251 <a class="indexterm" name="id 354646"></a>1252 <a class="indexterm" name="id 354653"></a>1253 <a class="indexterm" name="id 354660"></a>1247 <a class="indexterm" name="id2593394"></a> 1248 <a class="indexterm" name="id2593401"></a> 1249 <a class="indexterm" name="id2593408"></a> 1250 <a class="indexterm" name="id2593415"></a> 1251 <a class="indexterm" name="id2593421"></a> 1252 <a class="indexterm" name="id2593428"></a> 1253 <a class="indexterm" name="id2593435"></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="id 354684"></a>1263 <a class="indexterm" name="id 354690"></a>1264 <a class="indexterm" name="id 354697"></a>1265 <a class="indexterm" name="id 354704"></a>1266 <a class="indexterm" name="id 354711"></a>1267 <a class="indexterm" name="id 354718"></a>1268 <a class="indexterm" name="id 354724"></a>1269 <a class="indexterm" name="id 354731"></a>1270 <a class="indexterm" name="id 354738"></a>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 <a class="indexterm" name="id2593505"></a> 1269 <a class="indexterm" name="id2593512"></a> 1270 <a class="indexterm" name="id2593518"></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="id 354758"></a>OpenLDAP Configuration</h4></div></div></div><p>1280 <a class="indexterm" name="id 354766"></a>1281 <a class="indexterm" name="id 354772"></a>1282 <a class="indexterm" name="id 354779"></a>1283 <a class="indexterm" name="id 354786"></a>1279 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593544"></a>OpenLDAP Configuration</h4></div></div></div><p> 1280 <a class="indexterm" name="id2593552"></a> 1281 <a class="indexterm" name="id2593559"></a> 1282 <a class="indexterm" name="id2593566"></a> 1283 <a class="indexterm" name="id2593572"></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="id 354820"></a>1293 <a class="indexterm" name="id 354827"></a>1294 <a class="indexterm" name="id 354834"></a>1295 <a class="indexterm" name="id 354840"></a>1296 <a class="indexterm" name="id 354847"></a>1297 <a class="indexterm" name="id 354854"></a>1298 <a class="indexterm" name="id 354860"></a>1299 <a class="indexterm" name="id 354867"></a>1292 <a class="indexterm" name="id2593609"></a> 1293 <a class="indexterm" name="id2593616"></a> 1294 <a class="indexterm" name="id2593623"></a> 1295 <a class="indexterm" name="id2593630"></a> 1296 <a class="indexterm" name="id2593637"></a> 1297 <a class="indexterm" name="id2593643"></a> 1298 <a class="indexterm" name="id2593650"></a> 1299 <a class="indexterm" name="id2593657"></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="id 354929"></a>1320 <a class="indexterm" name="id 354936"></a>1321 <a class="indexterm" name="id 354943"></a>1322 <a class="indexterm" name="id 354950"></a>1319 <a class="indexterm" name="id2593725"></a> 1320 <a class="indexterm" name="id2593732"></a> 1321 <a class="indexterm" name="id2593739"></a> 1322 <a class="indexterm" name="id2593746"></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="id 355010"></a>Initialize the LDAP Database</h4></div></div></div><p>1361 <a class="indexterm" name="id 355018"></a>1362 <a class="indexterm" name="id 355025"></a>1363 <a class="indexterm" name="id 355032"></a>1364 <a class="indexterm" name="id 355038"></a>1360 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593816"></a>Initialize the LDAP Database</h4></div></div></div><p> 1361 <a class="indexterm" name="id2593824"></a> 1362 <a class="indexterm" name="id2593831"></a> 1363 <a class="indexterm" name="id2593838"></a> 1364 <a class="indexterm" name="id2593845"></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="id 355067"></a>1427 <a class="indexterm" name="id 355074"></a>1426 <a class="indexterm" name="id2593887"></a> 1427 <a class="indexterm" name="id2593894"></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="id 355091"></a>1431 <a class="indexterm" name="id 355098"></a>1430 <a class="indexterm" name="id2593911"></a> 1431 <a class="indexterm" name="id2593918"></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="id 355105"></a>1434 <a class="indexterm" name="id2593927"></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="id 355136"></a>1442 <a class="indexterm" name="id2593959"></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="id 355150"></a>1445 <a class="indexterm" name="id2593974"></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="id 355177"></a>Configuring Samba</h4></div></div></div><p>1450 <a class="indexterm" name="id 355185"></a>1451 <a class="indexterm" name="id 355192"></a>1449 </p></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594001"></a>Configuring Samba</h4></div></div></div><p> 1450 <a class="indexterm" name="id2594009"></a> 1451 <a class="indexterm" name="id2594016"></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="id 355243"></a><em class="parameter"><code>passdb backend = ldapsam:url</code></em></td></tr><tr><td><a class="indexterm" name="id355254"></a></td></tr><tr><td><a class="indexterm" name="id355261"></a></td></tr><tr><td><a class="indexterm" name="id355268"></a></td></tr><tr><td><a class="indexterm" name="id355275"></a></td></tr><tr><td><a class="indexterm" name="id355281"></a></td></tr><tr><td><a class="indexterm" name="id355288"></a></td></tr><tr><td><a class="indexterm" name="id355295"></a></td></tr><tr><td><a class="indexterm" name="id355302"></a></td></tr><tr><td><a class="indexterm" name="id355309"></a></td></tr><tr><td><a class="indexterm" name="id355315"></a></td></tr><tr><td><a class="indexterm" name="id355322"></a></td></tr><tr><td><a class="indexterm" name="id355329"></a></td></tr><tr><td><a class="indexterm" name="id355336"></a></td></tr></table><p>1470 </p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="indexterm" name="id2594072"></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> 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="id 355386"></a><em class="parameter"><code>security = user</code></em></td></tr><tr><td><a class="indexterm" name="id355397"></a><em class="parameter"><code>encrypt passwords = yes</code></em></td></tr><tr><td><a class="indexterm" name="id355408"></a><em class="parameter"><code>netbios name = MORIA</code></em></td></tr><tr><td><a class="indexterm" name="id355420"></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="id355454"></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="id355473"></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="id355488"></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="id355504"></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="id355523"></a><em class="parameter"><code>ldap user suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id355534"></a><em class="parameter"><code>ldap group suffix = ou=Groups</code></em></td></tr><tr><td><a class="indexterm" name="id355546"></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="id355569"></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="id355583"></a>Accounts and Groups Management</h4></div></div></div><p>1475 <a class="indexterm" name="id 355590"></a>1476 <a class="indexterm" name="id 355597"></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="id2594219"></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="id2594434"></a> 1476 <a class="indexterm" name="id2594441"></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="id 355611"></a>1481 <a class="indexterm" name="id 355618"></a>1482 <a class="indexterm" name="id 355625"></a>1480 <a class="indexterm" name="id2594456"></a> 1481 <a class="indexterm" name="id2594463"></a> 1482 <a class="indexterm" name="id2594470"></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="id 355651"></a>1492 <a class="indexterm" name="id 355658"></a>1493 <a class="indexterm" name="id 355665"></a>1494 <a class="indexterm" name="id 355672"></a>1491 <a class="indexterm" name="id2594500"></a> 1492 <a class="indexterm" name="id2594507"></a> 1493 <a class="indexterm" name="id2594514"></a> 1494 <a class="indexterm" name="id2594520"></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="id 355687"></a>Security and sambaSamAccount</h4></div></div></div><p>1502 <a class="indexterm" name="id 355695"></a>1501 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594539"></a>Security and sambaSamAccount</h4></div></div></div><p> 1502 <a class="indexterm" name="id2594547"></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="id 355712"></a>1506 <a class="indexterm" name="id2594566"></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="id 355731"></a>1510 <a class="indexterm" name="id 355738"></a>1511 <a class="indexterm" name="id 355745"></a>1509 <a class="indexterm" name="id2594586"></a> 1510 <a class="indexterm" name="id2594593"></a> 1511 <a class="indexterm" name="id2594600"></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="id 355764"></a>1518 <a class="indexterm" name="id 355771"></a>1519 <a class="indexterm" name="id 355778"></a>1520 <a class="indexterm" name="id 355784"></a>1521 To remedy the first security issue, the <a class="link" href="smb.conf.5.html#LDAPSSL" >ldap ssl</a> <code class="filename">smb.conf</code>1522 parameter defaults to require an encrypted session (<a class="link" href="smb.conf.5.html#LDAPSSL" >ldap ssl = on</a>) using the default port of <code class="constant">636</code> when1517 <a class="indexterm" name="id2594622"></a> 1518 <a class="indexterm" name="id2594629"></a> 1519 <a class="indexterm" name="id2594635"></a> 1520 <a class="indexterm" name="id2594642"></a> 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 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 1523 1523 contacting the directory server. When using an OpenLDAP server, it 1524 1524 is possible to use the StartTLS LDAP extended operation in the place of LDAPS. 1525 1525 In either case, you are strongly encouraged to use secure communications protocols 1526 (so do not set <a class="link" href="smb.conf.5.html#LDAPSSL" >ldap ssl = off</a>).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="id 355838"></a>1529 <a class="indexterm" name="id 355845"></a>1530 <a class="indexterm" name="id 355852"></a>1528 <a class="indexterm" name="id2594704"></a> 1529 <a class="indexterm" name="id2594710"></a> 1530 <a class="indexterm" name="id2594717"></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="id 355864"></a>1536 <a class="indexterm" name="id 355871"></a>1537 <a class="indexterm" name="id 355878"></a>1535 <a class="indexterm" name="id2594731"></a> 1536 <a class="indexterm" name="id2594738"></a> 1537 <a class="indexterm" name="id2594745"></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="id 355905"></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="id2594775"></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 … … 1566 1566 smb.conf(5) man page for more information.</td></tr><tr><td align="left"><code class="constant">sambaLogonScript</code></td><td align="justify">The sambaLogonScript property specifies the path of 1567 1567 the user's logon script, .CMD, .EXE, or .BAT file. The string can be null. The path 1568 is relative to the netlogon share. Refer to the <a class="link" href="smb.conf.5.html#LOGONSCRIPT" >logon script</a> parameter in the1568 is relative to the netlogon share. Refer to the <a class="link" href="smb.conf.5.html#LOGONSCRIPT" target="_top">logon script</a> parameter in the 1569 1569 <code class="filename">smb.conf</code> man page for more information.</td></tr><tr><td align="left"><code class="constant">sambaProfilePath</code></td><td align="justify">Specifies a path to the user's profile. 1570 1570 This value can be a null string, a local absolute path, or a UNC path. Refer to the 1571 <a class="link" href="smb.conf.5.html#LOGONPATH" >logon path</a> parameter in the <code class="filename">smb.conf</code> man page for more information.</td></tr><tr><td align="left"><code class="constant">sambaHomePath</code></td><td align="justify">The sambaHomePath property specifies the path of1571 <a class="link" href="smb.conf.5.html#LOGONPATH" target="_top">logon path</a> parameter in the <code class="filename">smb.conf</code> man page for more information.</td></tr><tr><td align="left"><code class="constant">sambaHomePath</code></td><td align="justify">The sambaHomePath property specifies the path of 1572 1572 the home directory for the user. The string can be null. If sambaHomeDrive is set and specifies 1573 1573 a drive letter, sambaHomePath should be a UNC path. The path must be a network … … 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="id 356222"></a>1584 <a class="indexterm" name="id 356229"></a>1583 <a class="indexterm" name="id2595123"></a> 1584 <a class="indexterm" name="id2595130"></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="id 356248"></a><a class="indexterm" name="id356255"></a><a class="indexterm" name="id356262"></a><a class="indexterm" name="id356268"></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="id 356296"></a>1591 <a class="indexterm" name="id 356303"></a>1592 <a class="indexterm" name="id 356310"></a>1589 </p><div class="itemizedlist"><a class="indexterm" name="id2595152"></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="id2595201"></a> 1591 <a class="indexterm" name="id2595208"></a> 1592 <a class="indexterm" name="id2595214"></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 1595 configured as a PDC and that <a class="link" href="smb.conf.5.html#LOGONHOME" >logon home = \\%L\%u</a> was defined in1595 configured as a PDC and that <a class="link" href="smb.conf.5.html#LOGONHOME" target="_top">logon home = \\%L\%u</a> was defined in 1596 1596 its <code class="filename">smb.conf</code> file. When a user named “<span class="quote">becky</span>” logs on to the domain, 1597 the <a class="link" href="smb.conf.5.html#LOGONHOME" >logon home</a> string is expanded to \\MORIA\becky.1597 the <a class="link" href="smb.conf.5.html#LOGONHOME" target="_top">logon home</a> string is expanded to \\MORIA\becky. 1598 1598 If the smbHome attribute exists in the entry “<span class="quote">uid=becky,ou=People,dc=samba,dc=org</span>”, 1599 1599 this value is used. However, if this attribute does not exist, then the value 1600 of the <a class="link" href="smb.conf.5.html#LOGONHOME" >logon home</a> parameter is used in its place. Samba1600 of the <a class="link" href="smb.conf.5.html#LOGONHOME" target="_top">logon home</a> parameter is used in its place. Samba 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="id 356376"></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="id2595288"></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="id 356412"></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="id2595336"></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. 1651 </p><p>The <a class="link" href="smb.conf.5.html#LDAPPASSWDSYNC" >ldap passwd sync</a> options can have the values shown in1651 </p><p>The <a class="link" href="smb.conf.5.html#LDAPPASSWDSYNC" target="_top">ldap passwd sync</a> options can have the values shown in 1652 1652 <a class="link" href="passdb.html#ldappwsync" title="Table 11.5. Possible ldap passwd sync Values">Possible <span class="emphasis"><em>ldap passwd sync</em></span> Values</a>.</p><div class="table"><a name="ldappwsync"></a><p class="title"><b>Table 11.5. Possible <em class="parameter"><code>ldap passwd sync</code></em> Values</b></p><div class="table-contents"><table summary="Possible ldap passwd sync Values" border="1"><colgroup><col align="left"><col align="justify"></colgroup><thead><tr><th align="left">Value</th><th align="center">Description</th></tr></thead><tbody><tr><td align="left">yes</td><td align="justify"><p>When the user changes his password, update 1653 1653 <code class="constant">SambaNTPassword</code>, <code class="constant">SambaLMPassword</code>, … … 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="id 356558"></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="id2595488"></a>Using OpenLDAP Overlay for Password Syncronization</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="id 356605"></a>Common Errors</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id356611"></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">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="id 356645"></a>Configuration of <em class="parameter"><code>auth methods</code></em></h3></div></div></div><p>1667 When explicitly setting an <a class="link" href="smb.conf.5.html#AUTHMETHODS" >auth methods</a> parameter,1665 </p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2595539"></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="id2595582"></a>Configuration of <em class="parameter"><code>auth methods</code></em></h3></div></div></div><p> 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 1669 for example, <a class="link" href="smb.conf.5.html#AUTHMETHODS" >auth methods = guest sam</a>.1669 for example, <a class="link" href="smb.conf.5.html#AUTHMETHODS" target="_top">auth methods = guest sam</a>. 1670 1670 </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="NetworkBrowsing.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="optional.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="groupmapping.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 10. Network Browsing </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 12. Group Mapping: MS Windows and UNIX</td></tr></table></div></body></html>
Note:
See TracChangeset
for help on using the changeset viewer.