- Timestamp:
- Jun 16, 2009, 5:52:30 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.2.x/docs/htmldocs/Samba3-HOWTO/passdb.html
r231 r272 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#id25872 07">Features and Benefits</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2587243">Backward Compatibility Account Storage Systems</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2587426">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#id2587995">Important Notes About Security</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2588514">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#id2589063">Comments Regarding LDAP</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2589476">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#id2589916">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#id2592457">Password Backends</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2592510">Plaintext</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2592586">smbpasswd: Encrypted Password Database</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2592852">tdbsam</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2593010">ldapsam</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#id2595544">Common Errors</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2595549">Users Cannot Logon</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2595586">Configuration of auth methods</a></span></dt></dl></dd></dl></div><p>2 <a class="indexterm" name="id25870 09"></a>3 <a class="indexterm" name="id25870 16"></a>4 <a class="indexterm" name="id25870 23"></a>5 <a class="indexterm" name="id25870 30"></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#id2587249">Features and Benefits</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2587285">Backward Compatibility Account Storage Systems</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2587476">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#id2588044">Important Notes About Security</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2588564">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#id2589112">Comments Regarding LDAP</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2589525">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#id2589966">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#id2592519">Password Backends</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2592572">Plaintext</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2592648">smbpasswd: Encrypted Password Database</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2592914">tdbsam</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2593072">ldapsam</a></span></dt></dl></dd><dt><span class="sect1"><a href="passdb.html#id2595597">Common Errors</a></span></dt><dd><dl><dt><span class="sect2"><a href="passdb.html#id2595602">Users Cannot Logon</a></span></dt><dt><span class="sect2"><a href="passdb.html#id2595640">Configuration of auth methods</a></span></dt></dl></dd></dl></div><p> 2 <a class="indexterm" name="id2587052"></a> 3 <a class="indexterm" name="id2587058"></a> 4 <a class="indexterm" name="id2587065"></a> 5 <a class="indexterm" name="id2587072"></a> 6 6 Early releases of Samba-3 implemented new capability to work concurrently with multiple account backends. This 7 7 capability was removed beginning with release of Samba 3.0.23. Commencing with Samba 3.0.23 it is possible to 8 8 work with only one specified passwd backend. 9 9 </p><p> 10 <a class="indexterm" name="id25870 44"></a>11 <a class="indexterm" name="id25870 51"></a>12 <a class="indexterm" name="id2587 058"></a>13 <a class="indexterm" name="id2587 065"></a>14 <a class="indexterm" name="id2587 072"></a>15 <a class="indexterm" name="id2587 078"></a>10 <a class="indexterm" name="id2587086"></a> 11 <a class="indexterm" name="id2587093"></a> 12 <a class="indexterm" name="id2587100"></a> 13 <a class="indexterm" name="id2587107"></a> 14 <a class="indexterm" name="id2587114"></a> 15 <a class="indexterm" name="id2587121"></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="id2587149"></a>27 <a class="indexterm" name="id2587156"></a>28 <a class="indexterm" name="id2587163"></a>29 <a class="indexterm" name="id2587170"></a>30 <a class="indexterm" name="id2587177"></a>31 <a class="indexterm" name="id2587184"></a>32 26 <a class="indexterm" name="id2587191"></a> 27 <a class="indexterm" name="id2587198"></a> 28 <a class="indexterm" name="id2587205"></a> 29 <a class="indexterm" name="id2587212"></a> 30 <a class="indexterm" name="id2587219"></a> 31 <a class="indexterm" name="id2587226"></a> 32 <a class="indexterm" name="id2587233"></a> 33 33 In a strict and literal sense, the passdb backends are account storage mechanisms (or methods) alone. The choice 34 34 of terminology can be misleading, however we are stuck with this choice of wording. This chapter documents the … … 36 36 machine trust accounts (computer accounts) and interdomain trust accounts. These are all treated as user-like 37 37 entities. 38 </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id25872 07"></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="id2587249"></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="id25872 16"></a>42 <a class="indexterm" name="id25872 26"></a>43 <a class="indexterm" name="id25872 35"></a>44 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25872 43"></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="id2587 260"></a>46 <a class="indexterm" name="id2587 267"></a>47 <a class="indexterm" name="id2587 274"></a>48 <a class="indexterm" name="id2587 281"></a>49 <a class="indexterm" name="id2587 288"></a>41 <a class="indexterm" name="id2587259"></a> 42 <a class="indexterm" name="id2587268"></a> 43 <a class="indexterm" name="id2587277"></a> 44 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2587285"></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="id2587302"></a> 46 <a class="indexterm" name="id2587309"></a> 47 <a class="indexterm" name="id2587316"></a> 48 <a class="indexterm" name="id2587323"></a> 49 <a class="indexterm" name="id2587330"></a> 50 50 This isn't really a backend at all, but is listed here for simplicity. Samba can be configured to pass 51 51 plaintext authentication requests to the traditional UNIX/Linux <code class="filename">/etc/passwd</code> and … … 55 55 password usage. 56 56 </p></dd><dt><span class="term">smbpasswd</span></dt><dd><p> 57 <a class="indexterm" name="id25873 35"></a>58 <a class="indexterm" name="id25873 41"></a>59 <a class="indexterm" name="id25873 48"></a>60 <a class="indexterm" name="id25873 55"></a>57 <a class="indexterm" name="id2587377"></a> 58 <a class="indexterm" name="id2587384"></a> 59 <a class="indexterm" name="id2587391"></a> 60 <a class="indexterm" name="id2587398"></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="id2587 394"></a>73 <a class="indexterm" name="id25874 01"></a>74 <a class="indexterm" name="id25874 08"></a>72 <a class="indexterm" name="id2587444"></a> 73 <a class="indexterm" name="id2587451"></a> 74 <a class="indexterm" name="id2587458"></a> 75 75 There is a password backend option that allows continued operation with 76 76 an existing OpenLDAP backend that uses the Samba-2.2.x LDAP schema extension. … … 78 78 no reason to force migration at this time. This tool will eventually 79 79 be deprecated. 80 </p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25874 26"></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="id2587476"></a>New Account Storage Systems</h3></div></div></div><p> 81 81 Samba-3 introduces a number of new password backend capabilities. 82 <a class="indexterm" name="id25874 36"></a>83 <a class="indexterm" name="id25874 45"></a>82 <a class="indexterm" name="id2587485"></a> 83 <a class="indexterm" name="id2587494"></a> 84 84 </p><div class="variablelist"><dl><dt><span class="term">tdbsam</span></dt><dd><p> 85 <a class="indexterm" name="id2587 466"></a>86 <a class="indexterm" name="id2587 473"></a>87 <a class="indexterm" name="id2587 480"></a>85 <a class="indexterm" name="id2587516"></a> 86 <a class="indexterm" name="id2587523"></a> 87 <a class="indexterm" name="id2587529"></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="id2587 492"></a>93 <a class="indexterm" name="id2587 499"></a>94 <a class="indexterm" name="id25875 06"></a>95 <a class="indexterm" name="id25875 13"></a>96 <a class="indexterm" name="id25875 20"></a>97 <a class="indexterm" name="id25875 27"></a>92 <a class="indexterm" name="id2587542"></a> 93 <a class="indexterm" name="id2587549"></a> 94 <a class="indexterm" name="id2587556"></a> 95 <a class="indexterm" name="id2587563"></a> 96 <a class="indexterm" name="id2587570"></a> 97 <a class="indexterm" name="id2587577"></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="id2587 551"></a>106 <a class="indexterm" name="id2587 558"></a>107 <a class="indexterm" name="id2587 565"></a>105 <a class="indexterm" name="id2587600"></a> 106 <a class="indexterm" name="id2587607"></a> 107 <a class="indexterm" name="id2587614"></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="id2587 593"></a>115 <a class="indexterm" name="id25876 00"></a>114 <a class="indexterm" name="id2587643"></a> 115 <a class="indexterm" name="id2587650"></a> 116 116 This provides a rich directory backend for distributed account installation. 117 117 </p><p> 118 <a class="indexterm" name="id25876 12"></a>119 <a class="indexterm" name="id25876 19"></a>120 <a class="indexterm" name="id25876 26"></a>121 <a class="indexterm" name="id25876 32"></a>122 <a class="indexterm" name="id25876 39"></a>118 <a class="indexterm" name="id2587662"></a> 119 <a class="indexterm" name="id2587668"></a> 120 <a class="indexterm" name="id2587675"></a> 121 <a class="indexterm" name="id2587682"></a> 122 <a class="indexterm" name="id2587689"></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="id2587 661"></a>128 <a class="indexterm" name="id2587 668"></a>129 <a class="indexterm" name="id2587 675"></a>130 <a class="indexterm" name="id2587 682"></a>131 <a class="indexterm" name="id2587 689"></a>127 <a class="indexterm" name="id2587711"></a> 128 <a class="indexterm" name="id2587718"></a> 129 <a class="indexterm" name="id2587725"></a> 130 <a class="indexterm" name="id2587732"></a> 131 <a class="indexterm" name="id2587739"></a> 132 132 The new LDAP implementation significantly expands the control abilities that 133 133 were possible with prior versions of Samba. It is now possible to specify … … 136 136 requests both for capability and greater scalability. 137 137 </p></dd></dl></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="passdbtech"></a>Technical Information</h2></div></div></div><p> 138 <a class="indexterm" name="id25877 24"></a>139 <a class="indexterm" name="id25877 30"></a>138 <a class="indexterm" name="id2587773"></a> 139 <a class="indexterm" name="id2587780"></a> 140 140 Old Windows clients send plaintext passwords over the wire. Samba can check these 141 141 passwords by encrypting them and comparing them to the hash stored in the UNIX user database. 142 142 </p><p> 143 <a class="indexterm" name="id25877 44"></a>144 <a class="indexterm" name="id2587 751"></a>145 <a class="indexterm" name="id2587 758"></a>146 <a class="indexterm" name="id2587 764"></a>143 <a class="indexterm" name="id2587793"></a> 144 <a class="indexterm" name="id2587800"></a> 145 <a class="indexterm" name="id2587807"></a> 146 <a class="indexterm" name="id2587814"></a> 147 147 Newer Windows clients send encrypted passwords (LanMan and NT hashes) instead of plaintext passwords over 148 148 the wire. The newest clients will send only encrypted passwords and refuse to send plaintext passwords unless 149 149 their registry is tweaked. 150 150 </p><p> 151 <a class="indexterm" name="id2587 779"></a>152 <a class="indexterm" name="id2587 786"></a>151 <a class="indexterm" name="id2587828"></a> 152 <a class="indexterm" name="id2587836"></a> 153 153 Many people ask why Samba cannot simply use the UNIX password database. Windows requires 154 154 passwords that are encrypted in its own format. The UNIX passwords can't be converted to … … 156 156 database, and you have to store the LanMan and NT hashes somewhere else. 157 157 </p><p> 158 <a class="indexterm" name="id25878 02"></a>159 <a class="indexterm" name="id25878 09"></a>160 <a class="indexterm" name="id25878 16"></a>161 <a class="indexterm" name="id25878 23"></a>158 <a class="indexterm" name="id2587851"></a> 159 <a class="indexterm" name="id2587859"></a> 160 <a class="indexterm" name="id2587865"></a> 161 <a class="indexterm" name="id2587872"></a> 162 162 In addition to differently encrypted passwords, Windows also stores certain data for each 163 163 user that is not stored in a UNIX user database: for example, workstations the user may logon from, … … 167 167 <a class="link" href="smb.conf.5.html#PASSDBBACKEND" target="_top">passdb backend</a> parameter. 168 168 </p><div class="figure"><a name="idmap-sid2uid"></a><p class="title"><b>Figure 11.1. IDMAP: Resolution of SIDs to UIDs.</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/idmap-sid2uid.png" width="216" alt="IDMAP: Resolution of SIDs to UIDs."></div></div></div><br class="figure-break"><p> 169 <a class="indexterm" name="id25879 12"></a>170 <a class="indexterm" name="id25879 19"></a>171 <a class="indexterm" name="id25879 25"></a>169 <a class="indexterm" name="id2587962"></a> 170 <a class="indexterm" name="id2587968"></a> 171 <a class="indexterm" name="id2587975"></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="id258 7995"></a>Important Notes About Security</h3></div></div></div><p>176 <a class="indexterm" name="id25880 03"></a>177 <a class="indexterm" name="id25880 10"></a>178 <a class="indexterm" name="id25880 17"></a>179 <a class="indexterm" name="id25880 24"></a>180 <a class="indexterm" name="id25880 31"></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="id2588044"></a>Important Notes About Security</h3></div></div></div><p> 176 <a class="indexterm" name="id2588052"></a> 177 <a class="indexterm" name="id2588060"></a> 178 <a class="indexterm" name="id2588067"></a> 179 <a class="indexterm" name="id2588074"></a> 180 <a class="indexterm" name="id2588080"></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="id2588 060"></a>195 <a class="indexterm" name="id2588 067"></a>196 <a class="indexterm" name="id2588 073"></a>194 <a class="indexterm" name="id2588110"></a> 195 <a class="indexterm" name="id2588116"></a> 196 <a class="indexterm" name="id2588123"></a> 197 197 Ideally, we would like a password scheme that involves neither plaintext passwords 198 198 on the network nor plaintext passwords on disk. Unfortunately, this is not available because Samba is stuck with 199 199 having to be compatible with other SMB systems (Windows NT, Windows for Workgroups, Windows 9x/Me). 200 200 </p><p> 201 <a class="indexterm" name="id2588 089"></a>202 <a class="indexterm" name="id2588 096"></a>201 <a class="indexterm" name="id2588138"></a> 202 <a class="indexterm" name="id2588145"></a> 203 203 Windows NT 4.0 Service Pack 3 changed the default setting so plaintext passwords 204 204 are disabled from being sent over the wire. This mandates either the use of encrypted 205 205 password support or editing the Windows NT registry to re-enable plaintext passwords. 206 206 </p><p> 207 <a class="indexterm" name="id25881 10"></a>208 <a class="indexterm" name="id25881 17"></a>207 <a class="indexterm" name="id2588160"></a> 208 <a class="indexterm" name="id2588167"></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="id2588 156"></a>213 <a class="indexterm" name="id2588 162"></a>214 <a class="indexterm" name="id2588 169"></a>212 <a class="indexterm" name="id2588205"></a> 213 <a class="indexterm" name="id2588212"></a> 214 <a class="indexterm" name="id2588219"></a> 215 215 MS Windows XP Home does not have facilities to become a domain member, and it cannot participate in domain logons. 216 216 </p></div><p> 217 217 The following versions of MS Windows fully support domain security protocols. 218 218 </p><div class="itemizedlist"><ul type="disc"><li><p>Windows NT 3.5x.</p></li><li><p>Windows NT 4.0.</p></li><li><p>Windows 2000 Professional.</p></li><li><p>Windows 200x Server/Advanced Server.</p></li><li><p>Windows XP Professional.</p></li></ul></div><p> 219 <a class="indexterm" name="id25882 15"></a>220 <a class="indexterm" name="id25882 21"></a>221 <a class="indexterm" name="id25882 28"></a>222 <a class="indexterm" name="id25882 35"></a>223 <a class="indexterm" name="id25882 42"></a>224 <a class="indexterm" name="id25882 49"></a>219 <a class="indexterm" name="id2588264"></a> 220 <a class="indexterm" name="id2588271"></a> 221 <a class="indexterm" name="id2588278"></a> 222 <a class="indexterm" name="id2588285"></a> 223 <a class="indexterm" name="id2588292"></a> 224 <a class="indexterm" name="id2588299"></a> 225 225 All current releases of Microsoft SMB/CIFS clients support authentication via the 226 226 SMB challenge/response mechanism described here. Enabling clear-text authentication … … 229 229 handling. 230 230 </p><p> 231 <a class="indexterm" name="id2588 265"></a>232 <a class="indexterm" name="id2588 272"></a>233 <a class="indexterm" name="id2588 279"></a>234 <a class="indexterm" name="id2588 286"></a>235 <a class="indexterm" name="id2588 293"></a>231 <a class="indexterm" name="id2588315"></a> 232 <a class="indexterm" name="id2588322"></a> 233 <a class="indexterm" name="id2588329"></a> 234 <a class="indexterm" name="id2588336"></a> 235 <a class="indexterm" name="id2588343"></a> 236 236 MS Windows clients will cache the encrypted password alone. Where plaintext passwords 237 237 are re-enabled through the appropriate registry change, the plaintext password is never … … 240 240 effect an auto-reconnect. If the resource server does not support encrypted passwords, the 241 241 auto-reconnect will fail. Use of encrypted passwords is strongly advised. 242 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25883 10"></a>Advantages of Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>243 <a class="indexterm" name="id25883 21"></a>244 <a class="indexterm" name="id25883 28"></a>245 <a class="indexterm" name="id25883 35"></a>242 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2588360"></a>Advantages of Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p> 243 <a class="indexterm" name="id2588371"></a> 244 <a class="indexterm" name="id2588378"></a> 245 <a class="indexterm" name="id2588385"></a> 246 246 Plaintext passwords are not passed across the network. Someone using a network sniffer 247 247 cannot just record passwords going to the SMB server. 248 248 </p></li><li><p> 249 <a class="indexterm" name="id25883 49"></a>250 <a class="indexterm" name="id2588 356"></a>251 <a class="indexterm" name="id2588 363"></a>249 <a class="indexterm" name="id2588399"></a> 250 <a class="indexterm" name="id2588406"></a> 251 <a class="indexterm" name="id2588412"></a> 252 252 Plaintext passwords are not stored anywhere in memory or on disk. 253 253 </p></li><li><p> 254 <a class="indexterm" name="id2588 375"></a>255 <a class="indexterm" name="id2588 382"></a>256 <a class="indexterm" name="id2588 389"></a>257 <a class="indexterm" name="id2588 396"></a>254 <a class="indexterm" name="id2588425"></a> 255 <a class="indexterm" name="id2588432"></a> 256 <a class="indexterm" name="id2588439"></a> 257 <a class="indexterm" name="id2588446"></a> 258 258 Windows NT does not like talking to a server that does not support encrypted passwords. It will refuse to 259 259 browse the server if the server is also in user-level security mode. It will insist on prompting the user for … … 261 261 encryption. 262 262 </p></li><li><p> 263 <a class="indexterm" name="id25884 13"></a>264 <a class="indexterm" name="id25884 20"></a>263 <a class="indexterm" name="id2588463"></a> 264 <a class="indexterm" name="id2588470"></a> 265 265 Encrypted password support allows automatic share (resource) reconnects. 266 266 </p></li><li><p> 267 <a class="indexterm" name="id25884 33"></a>268 <a class="indexterm" name="id25884 40"></a>267 <a class="indexterm" name="id2588483"></a> 268 <a class="indexterm" name="id2588489"></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="id2588 450"></a>Advantages of Non-Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>271 <a class="indexterm" name="id2588 462"></a>270 </p></li></ul></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2588500"></a>Advantages of Non-Encrypted Passwords</h4></div></div></div><div class="itemizedlist"><ul type="disc"><li><p> 271 <a class="indexterm" name="id2588512"></a> 272 272 Plaintext passwords are not kept on disk and are not cached in memory. 273 273 </p></li><li><p> 274 <a class="indexterm" name="id2588 475"></a>275 <a class="indexterm" name="id2588 481"></a>274 <a class="indexterm" name="id2588524"></a> 275 <a class="indexterm" name="id2588531"></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="id2588 494"></a>279 <a class="indexterm" name="id25885 01"></a>278 <a class="indexterm" name="id2588544"></a> 279 <a class="indexterm" name="id2588550"></a> 280 280 Use of other services (such as Telnet and FTP) that send plaintext passwords over 281 281 the network makes sending them for SMB not such a big deal. 282 </p></li></ul></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25885 14"></a>Mapping User Identifiers between MS Windows and UNIX</h3></div></div></div><p>283 <a class="indexterm" name="id25885 23"></a>284 <a class="indexterm" name="id25885 29"></a>285 <a class="indexterm" name="id25885 36"></a>282 </p></li></ul></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2588564"></a>Mapping User Identifiers between MS Windows and UNIX</h3></div></div></div><p> 283 <a class="indexterm" name="id2588572"></a> 284 <a class="indexterm" name="id2588579"></a> 285 <a class="indexterm" name="id2588586"></a> 286 286 Every operation in UNIX/Linux requires a user identifier (UID), just as in 287 287 MS Windows NT4/200x this requires a security identifier (SID). Samba provides 288 288 two means for mapping an MS Windows user to a UNIX/Linux UID. 289 289 </p><p> 290 <a class="indexterm" name="id25885 50"></a>291 <a class="indexterm" name="id2588 557"></a>292 <a class="indexterm" name="id2588 563"></a>293 <a class="indexterm" name="id2588 570"></a>294 <a class="indexterm" name="id2588 577"></a>290 <a class="indexterm" name="id2588599"></a> 291 <a class="indexterm" name="id2588606"></a> 292 <a class="indexterm" name="id2588613"></a> 293 <a class="indexterm" name="id2588619"></a> 294 <a class="indexterm" name="id2588626"></a> 295 295 First, all Samba SAM database accounts require a UNIX/Linux UID that the account will map to. As users are 296 296 added to the account information database, Samba will call the <a class="link" href="smb.conf.5.html#ADDUSERSCRIPT" target="_top">add user script</a> … … 298 298 user account. 299 299 </p><p> 300 <a class="indexterm" name="id25886 06"></a>301 <a class="indexterm" name="id25886 12"></a>302 <a class="indexterm" name="id25886 19"></a>303 <a class="indexterm" name="id25886 25"></a>304 <a class="indexterm" name="id25886 32"></a>305 <a class="indexterm" name="id25886 39"></a>306 <a class="indexterm" name="id25886 46"></a>300 <a class="indexterm" name="id2588655"></a> 301 <a class="indexterm" name="id2588662"></a> 302 <a class="indexterm" name="id2588668"></a> 303 <a class="indexterm" name="id2588675"></a> 304 <a class="indexterm" name="id2588682"></a> 305 <a class="indexterm" name="id2588688"></a> 306 <a class="indexterm" name="id2588696"></a> 307 307 The second way to map Windows SID to UNIX UID is via the <span class="emphasis"><em>idmap uid</em></span> and 308 308 <span class="emphasis"><em>idmap gid</em></span> parameters in <code class="filename">smb.conf</code>. Please refer to the man page for information about … … 310 310 or a member of a foreign domain) SAM server. 311 311 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="idmapbackend"></a>Mapping Common UIDs/GIDs on Distributed Machines</h3></div></div></div><p> 312 <a class="indexterm" name="id2588 685"></a>313 <a class="indexterm" name="id2588 692"></a>314 <a class="indexterm" name="id2588 698"></a>315 <a class="indexterm" name="id25887 05"></a>316 <a class="indexterm" name="id25887 12"></a>317 <a class="indexterm" name="id25887 18"></a>312 <a class="indexterm" name="id2588735"></a> 313 <a class="indexterm" name="id2588741"></a> 314 <a class="indexterm" name="id2588748"></a> 315 <a class="indexterm" name="id2588754"></a> 316 <a class="indexterm" name="id2588762"></a> 317 <a class="indexterm" name="id2588768"></a> 318 318 Samba-3 has a special facility that makes it possible to maintain identical UIDs and GIDs 319 319 on all servers in a distributed network. A distributed network is one where there exists … … 322 322 users are copying files across UNIX/Linux systems using tools such as <code class="literal">rsync</code>. 323 323 </p><p> 324 <a class="indexterm" name="id25887 42"></a>325 <a class="indexterm" name="id25887 48"></a>326 <a class="indexterm" name="id2588 755"></a>327 <a class="indexterm" name="id2588 762"></a>328 <a class="indexterm" name="id2588 768"></a>329 <a class="indexterm" name="id2588 775"></a>330 <a class="indexterm" name="id2588 782"></a>331 <a class="indexterm" name="id2588 789"></a>324 <a class="indexterm" name="id2588791"></a> 325 <a class="indexterm" name="id2588798"></a> 326 <a class="indexterm" name="id2588805"></a> 327 <a class="indexterm" name="id2588811"></a> 328 <a class="indexterm" name="id2588817"></a> 329 <a class="indexterm" name="id2588824"></a> 330 <a class="indexterm" name="id2588830"></a> 331 <a class="indexterm" name="id2588837"></a> 332 332 The special facility is enabled using a parameter called <em class="parameter"><code>idmap backend</code></em>. 333 333 The default setting for this parameter is an empty string. Technically it is possible to use … … 336 336 <a class="link" href="passdb.html#idmapbackendexample" title="Example 11.1. Example Configuration with the LDAP idmap Backend">Example Configuration with the LDAP idmap Backend</a> 337 337 shows that configuration. 338 </p><a class="indexterm" name="id25888 17"></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="id2588851"></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="id2588867"></a><em class="parameter"><code>idmap backend = ldap:ldaps://ldap-server.quenya.org</code></em></td></tr></table></div></div><br class="example-break"><p>339 <a class="indexterm" name="id2588 882"></a>340 <a class="indexterm" name="id2588 889"></a>338 </p><a class="indexterm" name="id2588866"></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="id2588900"></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="id2588916"></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="id2588932"></a> 340 <a class="indexterm" name="id2588939"></a> 341 341 A network administrator who wants to make significant use of LDAP backends will sooner or later be 342 342 exposed to the excellent work done by PADL Software. PADL <a class="ulink" href="http://www.padl.com" target="_top">http://www.padl.com</a> have 343 343 produced and released to open source an array of tools that might be of interest. These tools include: 344 344 </p><div class="itemizedlist"><ul type="disc"><li><p> 345 <a class="indexterm" name="id25889 13"></a>346 <a class="indexterm" name="id25889 20"></a>347 <a class="indexterm" name="id25889 26"></a>348 <a class="indexterm" name="id25889 33"></a>349 <a class="indexterm" name="id25889 40"></a>350 <a class="indexterm" name="id25889 47"></a>351 <a class="indexterm" name="id258 8954"></a>352 <a class="indexterm" name="id258 8960"></a>345 <a class="indexterm" name="id2588962"></a> 346 <a class="indexterm" name="id2588969"></a> 347 <a class="indexterm" name="id2588976"></a> 348 <a class="indexterm" name="id2588983"></a> 349 <a class="indexterm" name="id2588990"></a> 350 <a class="indexterm" name="id2588996"></a> 351 <a class="indexterm" name="id2589003"></a> 352 <a class="indexterm" name="id2589010"></a> 353 353 <span class="emphasis"><em>nss_ldap:</em></span> An LDAP name service switch (NSS) module to provide native 354 354 name service support for AIX, Linux, Solaris, and other operating systems. This tool 355 355 can be used for centralized storage and retrieval of UIDs and GIDs. 356 356 </p></li><li><p> 357 <a class="indexterm" name="id258 8980"></a>358 <a class="indexterm" name="id258 8987"></a>359 <a class="indexterm" name="id258 8994"></a>360 <a class="indexterm" name="id25890 00"></a>357 <a class="indexterm" name="id2589030"></a> 358 <a class="indexterm" name="id2589037"></a> 359 <a class="indexterm" name="id2589043"></a> 360 <a class="indexterm" name="id2589050"></a> 361 361 <span class="emphasis"><em>pam_ldap:</em></span> A PAM module that provides LDAP integration for UNIX/Linux 362 362 system access authentication. 363 363 </p></li><li><p> 364 <a class="indexterm" name="id25890 19"></a>365 <a class="indexterm" name="id25890 26"></a>366 <a class="indexterm" name="id25890 33"></a>367 <a class="indexterm" name="id25890 40"></a>364 <a class="indexterm" name="id2589069"></a> 365 <a class="indexterm" name="id2589075"></a> 366 <a class="indexterm" name="id2589082"></a> 367 <a class="indexterm" name="id2589089"></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="id2589 063"></a>Comments Regarding LDAP</h3></div></div></div><p>372 <a class="indexterm" name="id2589 071"></a>373 <a class="indexterm" name="id2589 080"></a>374 <a class="indexterm" name="id2589 087"></a>375 <a class="indexterm" name="id2589 093"></a>371 </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589112"></a>Comments Regarding LDAP</h3></div></div></div><p> 372 <a class="indexterm" name="id2589120"></a> 373 <a class="indexterm" name="id2589130"></a> 374 <a class="indexterm" name="id2589136"></a> 375 <a class="indexterm" name="id2589143"></a> 376 376 There is much excitement and interest in LDAP directories in the information technology world 377 377 today. The LDAP architecture was designed to be highly scalable. It was also designed for … … 380 380 Identity Management (FIM) solutions that can underlie a corporate Single Sign-On (SSO) environment. 381 381 </p><p> 382 <a class="indexterm" name="id25891 11"></a>383 <a class="indexterm" name="id25891 18"></a>384 <a class="indexterm" name="id25891 25"></a>385 <a class="indexterm" name="id25891 32"></a>382 <a class="indexterm" name="id2589161"></a> 383 <a class="indexterm" name="id2589168"></a> 384 <a class="indexterm" name="id2589175"></a> 385 <a class="indexterm" name="id2589181"></a> 386 386 LDAP implementations have been built across a wide variety of platforms. It lies at the core of Microsoft 387 387 Windows Active Directory services (ADS), Novell's eDirectory, as well as many others. Implementation of the … … 389 389 depend on some form of authentication services. 390 390 </p><p> 391 <a class="indexterm" name="id25891 48"></a>392 <a class="indexterm" name="id2589 155"></a>393 <a class="indexterm" name="id2589 162"></a>394 <a class="indexterm" name="id2589 169"></a>395 <a class="indexterm" name="id2589 176"></a>396 <a class="indexterm" name="id2589 183"></a>397 <a class="indexterm" name="id2589 190"></a>398 <a class="indexterm" name="id2589 196"></a>399 <a class="indexterm" name="id25892 03"></a>400 <a class="indexterm" name="id25892 10"></a>401 <a class="indexterm" name="id25892 17"></a>402 <a class="indexterm" name="id25892 24"></a>403 <a class="indexterm" name="id25892 31"></a>404 <a class="indexterm" name="id25892 38"></a>391 <a class="indexterm" name="id2589198"></a> 392 <a class="indexterm" name="id2589205"></a> 393 <a class="indexterm" name="id2589212"></a> 394 <a class="indexterm" name="id2589218"></a> 395 <a class="indexterm" name="id2589225"></a> 396 <a class="indexterm" name="id2589232"></a> 397 <a class="indexterm" name="id2589239"></a> 398 <a class="indexterm" name="id2589246"></a> 399 <a class="indexterm" name="id2589253"></a> 400 <a class="indexterm" name="id2589260"></a> 401 <a class="indexterm" name="id2589267"></a> 402 <a class="indexterm" name="id2589274"></a> 403 <a class="indexterm" name="id2589281"></a> 404 <a class="indexterm" name="id2589287"></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="id2589 258"></a>414 <a class="indexterm" name="id2589 265"></a>415 <a class="indexterm" name="id2589 272"></a>416 <a class="indexterm" name="id2589 279"></a>417 <a class="indexterm" name="id2589 285"></a>418 <a class="indexterm" name="id2589 292"></a>413 <a class="indexterm" name="id2589308"></a> 414 <a class="indexterm" name="id2589314"></a> 415 <a class="indexterm" name="id2589321"></a> 416 <a class="indexterm" name="id2589328"></a> 417 <a class="indexterm" name="id2589335"></a> 418 <a class="indexterm" name="id2589342"></a> 419 419 Many sites are installing LDAP for the first time in order to provide a scalable passdb backend 420 420 for Samba. Others are faced with the need to adapt an existing LDAP directory to new uses such … … 424 424 information systems management costs. 425 425 </p><p> 426 <a class="indexterm" name="id25893 11"></a>427 <a class="indexterm" name="id25893 18"></a>426 <a class="indexterm" name="id2589361"></a> 427 <a class="indexterm" name="id2589368"></a> 428 428 Do not rush into an LDAP deployment. Take the time to understand how the design of the Directory 429 429 Information Tree (DIT) may impact current and future site needs, as well as the ability to meet … … 432 432 first implementations create awakening, second implementations of LDAP create fear, and 433 433 third-generation deployments bring peace and tranquility. 434 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25893 38"></a>Caution Regarding LDAP and Samba</h4></div></div></div><p>435 <a class="indexterm" name="id25893 46"></a>436 <a class="indexterm" name="id2589 353"></a>437 <a class="indexterm" name="id2589 360"></a>438 <a class="indexterm" name="id2589 367"></a>439 <a class="indexterm" name="id2589 374"></a>440 <a class="indexterm" name="id2589 381"></a>441 <a class="indexterm" name="id2589 388"></a>434 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2589388"></a>Caution Regarding LDAP and Samba</h4></div></div></div><p> 435 <a class="indexterm" name="id2589396"></a> 436 <a class="indexterm" name="id2589403"></a> 437 <a class="indexterm" name="id2589410"></a> 438 <a class="indexterm" name="id2589417"></a> 439 <a class="indexterm" name="id2589424"></a> 440 <a class="indexterm" name="id2589431"></a> 441 <a class="indexterm" name="id2589438"></a> 442 442 Samba requires UNIX POSIX identity information as well as a place to store information that is 443 443 specific to Samba and the Windows networking environment. The most used information that must … … 445 445 trust accounts, and intermediate information specific to Samba internals. 446 446 </p><p> 447 <a class="indexterm" name="id25894 05"></a>448 <a class="indexterm" name="id25894 12"></a>449 <a class="indexterm" name="id25894 19"></a>447 <a class="indexterm" name="id2589454"></a> 448 <a class="indexterm" name="id2589461"></a> 449 <a class="indexterm" name="id2589468"></a> 450 450 The example deployment guidelines in this book, as well as other books and HOWTO documents 451 451 available from the internet may not fit with established directory designs and implementations. … … 454 454 the LDAP directory for use with Samba may not suit your needs. 455 455 </p><p> 456 <a class="indexterm" name="id25894 36"></a>456 <a class="indexterm" name="id2589486"></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="id2589 454"></a>465 <a class="indexterm" name="id2589 461"></a>464 <a class="indexterm" name="id2589504"></a> 465 <a class="indexterm" name="id2589511"></a> 466 466 Above all, do not blindly use scripts and tools that are not suitable for your site. Check 467 467 and validate all scripts before you execute them to make sure that the existing infrastructure 468 468 will not be damaged by inadvertent use of an inappropriate tool. 469 </p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589 476"></a>LDAP Directories and Windows Computer Accounts</h3></div></div></div><p>470 <a class="indexterm" name="id2589 484"></a>471 <a class="indexterm" name="id2589 491"></a>472 <a class="indexterm" name="id2589 498"></a>469 </p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589525"></a>LDAP Directories and Windows Computer Accounts</h3></div></div></div><p> 470 <a class="indexterm" name="id2589534"></a> 471 <a class="indexterm" name="id2589541"></a> 472 <a class="indexterm" name="id2589547"></a> 473 473 Samba doesn't provide a turnkey solution to LDAP. It is best to deal with the design and 474 474 configuration of an LDAP directory prior to integration with Samba. A working knowledge … … 476 476 it a frustrating experience. 477 477 </p><p> 478 <a class="indexterm" name="id25895 13"></a>479 <a class="indexterm" name="id25895 20"></a>480 <a class="indexterm" name="id25895 27"></a>478 <a class="indexterm" name="id2589563"></a> 479 <a class="indexterm" name="id2589570"></a> 480 <a class="indexterm" name="id2589577"></a> 481 481 Computer (machine) accounts can be placed wherever you like in an LDAP directory subject 482 482 to some constraints that are described in this chapter. 483 483 </p><p> 484 <a class="indexterm" name="id25895 40"></a>485 <a class="indexterm" name="id25895 47"></a>486 <a class="indexterm" name="id2589 554"></a>487 <a class="indexterm" name="id2589 561"></a>488 <a class="indexterm" name="id2589 568"></a>489 <a class="indexterm" name="id2589 574"></a>490 <a class="indexterm" name="id2589 581"></a>484 <a class="indexterm" name="id2589590"></a> 485 <a class="indexterm" name="id2589596"></a> 486 <a class="indexterm" name="id2589603"></a> 487 <a class="indexterm" name="id2589610"></a> 488 <a class="indexterm" name="id2589617"></a> 489 <a class="indexterm" name="id2589624"></a> 490 <a class="indexterm" name="id2589631"></a> 491 491 The POSIX and sambaSamAccount components of computer (machine) accounts are both used by Samba. 492 492 Thus, machine accounts are treated inside Samba in the same way that Windows NT4/200X treats 493 them. A user account and a machine account are indistin quishable from each other, except that493 them. A user account and a machine account are indistinguishable from each other, except that 494 494 the machine account ends in a $ character, as do trust accounts. 495 495 </p><p> 496 <a class="indexterm" name="id2589 598"></a>497 <a class="indexterm" name="id25896 04"></a>498 <a class="indexterm" name="id25896 11"></a>499 <a class="indexterm" name="id25896 18"></a>500 <a class="indexterm" name="id25896 25"></a>496 <a class="indexterm" name="id2589647"></a> 497 <a class="indexterm" name="id2589654"></a> 498 <a class="indexterm" name="id2589661"></a> 499 <a class="indexterm" name="id2589668"></a> 500 <a class="indexterm" name="id2589674"></a> 501 501 The need for Windows user, group, machine, trust, and other accounts to be tied to a valid UNIX 502 502 UID is a design decision that was made a long way back in the history of Samba development. It … … 504 504 Samba-3.x series. 505 505 </p><p> 506 <a class="indexterm" name="id25896 40"></a>507 <a class="indexterm" name="id25896 46"></a>508 <a class="indexterm" name="id2589 653"></a>506 <a class="indexterm" name="id2589690"></a> 507 <a class="indexterm" name="id2589696"></a> 508 <a class="indexterm" name="id2589703"></a> 509 509 The resolution of a UID from the Windows SID is achieved within Samba through a mechanism that 510 510 must refer back to the host operating system on which Samba is running. The NSS is the preferred … … 512 512 host OS it runs on. 513 513 </p><p> 514 <a class="indexterm" name="id2589 668"></a>515 <a class="indexterm" name="id2589 675"></a>516 <a class="indexterm" name="id2589 682"></a>517 <a class="indexterm" name="id2589 688"></a>518 <a class="indexterm" name="id2589 695"></a>519 <a class="indexterm" name="id25897 02"></a>520 <a class="indexterm" name="id25897 08"></a>514 <a class="indexterm" name="id2589718"></a> 515 <a class="indexterm" name="id2589724"></a> 516 <a class="indexterm" name="id2589731"></a> 517 <a class="indexterm" name="id2589738"></a> 518 <a class="indexterm" name="id2589745"></a> 519 <a class="indexterm" name="id2589751"></a> 520 <a class="indexterm" name="id2589758"></a> 521 521 Samba asks the host OS to provide a UID via the “<span class="quote">passwd</span>”, “<span class="quote">shadow</span>”, 522 522 and “<span class="quote">group</span>” facilities in the NSS control (configuration) file. The best tool … … 526 526 all account entities can be located in an LDAP directory. 527 527 </p><p> 528 <a class="indexterm" name="id25897 37"></a>529 <a class="indexterm" name="id25897 44"></a>530 <a class="indexterm" name="id2589 750"></a>531 <a class="indexterm" name="id2589 757"></a>532 <a class="indexterm" name="id2589 764"></a>528 <a class="indexterm" name="id2589786"></a> 529 <a class="indexterm" name="id2589793"></a> 530 <a class="indexterm" name="id2589800"></a> 531 <a class="indexterm" name="id2589806"></a> 532 <a class="indexterm" name="id2589813"></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="id2589 794"></a>540 <a class="indexterm" name="id25898 01"></a>541 <a class="indexterm" name="id25898 07"></a>539 <a class="indexterm" name="id2589844"></a> 540 <a class="indexterm" name="id2589850"></a> 541 <a class="indexterm" name="id2589857"></a> 542 542 Samba provides two tools for management of user and machine accounts: 543 543 <code class="literal">smbpasswd</code> and <code class="literal">pdbedit</code>. 544 544 </p><p> 545 <a class="indexterm" name="id25898 31"></a>546 <a class="indexterm" name="id25898 37"></a>547 <a class="indexterm" name="id25898 44"></a>545 <a class="indexterm" name="id2589880"></a> 546 <a class="indexterm" name="id2589887"></a> 547 <a class="indexterm" name="id2589894"></a> 548 548 The <code class="literal">pdbedit</code> can be used to manage account policies in addition to 549 549 Samba user account information. The policy management capability is used to administer … … 551 551 attempts. 552 552 </p><p> 553 <a class="indexterm" name="id2589 865"></a>554 <a class="indexterm" name="id2589 871"></a>555 <a class="indexterm" name="id2589 878"></a>556 <a class="indexterm" name="id2589 885"></a>553 <a class="indexterm" name="id2589914"></a> 554 <a class="indexterm" name="id2589921"></a> 555 <a class="indexterm" name="id2589928"></a> 556 <a class="indexterm" name="id2589935"></a> 557 557 Some people are confused when reference is made to <code class="literal">smbpasswd</code> because the 558 558 name refers to a storage mechanism for SambaSAMAccount information, but it is also the name 559 559 of a utility tool. That tool is destined to eventually be replaced by new functionality that 560 560 is being added to the <code class="literal">net</code> toolset (see <a class="link" href="NetCommand.html" title="Chapter 13. Remote and Local Management: The Net Command">the Net Command</a>. 561 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25899 16"></a>The <code class="literal">smbpasswd</code> Tool</h3></div></div></div><p>562 <a class="indexterm" name="id25899 30"></a>563 <a class="indexterm" name="id25899 37"></a>564 <a class="indexterm" name="id25899 44"></a>565 <a class="indexterm" name="id25 89950"></a>566 <a class="indexterm" name="id25 89957"></a>561 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589966"></a>The <code class="literal">smbpasswd</code> Tool</h3></div></div></div><p> 562 <a class="indexterm" name="id2589980"></a> 563 <a class="indexterm" name="id2589986"></a> 564 <a class="indexterm" name="id2589993"></a> 565 <a class="indexterm" name="id2590000"></a> 566 <a class="indexterm" name="id2590007"></a> 567 567 The <code class="literal">smbpasswd</code> utility is similar to the <code class="literal">passwd</code> 568 568 and <code class="literal">yppasswd</code> programs. It maintains the two 32 byte password … … 571 571 backend</code></em> in the <code class="filename">smb.conf</code> file. 572 572 </p><p> 573 <a class="indexterm" name="id25900 01"></a>574 <a class="indexterm" name="id25900 08"></a>573 <a class="indexterm" name="id2590051"></a> 574 <a class="indexterm" name="id2590058"></a> 575 575 <code class="literal">smbpasswd</code> works in a client-server mode where it contacts the 576 576 local smbd to change the user's password on its behalf. This has enormous benefits. 577 577 </p><p> 578 <a class="indexterm" name="id25900 26"></a>579 <a class="indexterm" name="id25900 33"></a>578 <a class="indexterm" name="id2590076"></a> 579 <a class="indexterm" name="id2590083"></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="id2590 052"></a>585 <a class="indexterm" name="id2590 059"></a>584 <a class="indexterm" name="id2590102"></a> 585 <a class="indexterm" name="id2590109"></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="id2590 199"></a>604 <a class="indexterm" name="id2590249"></a> 605 605 When invoked by an ordinary user, the command will allow only the user to change his or her own 606 606 SMB password. 607 607 </p><p> 608 <a class="indexterm" name="id25902 11"></a>609 <a class="indexterm" name="id25902 18"></a>608 <a class="indexterm" name="id2590261"></a> 609 <a class="indexterm" name="id2590268"></a> 610 610 When run by root, <code class="literal">smbpasswd</code> may take an optional argument specifying 611 611 the username whose SMB password you wish to change. When run as root, <code class="literal">smbpasswd</code> … … 613 613 for users who have forgotten their passwords. 614 614 </p><p> 615 <a class="indexterm" name="id25902 45"></a>616 <a class="indexterm" name="id2590 252"></a>617 <a class="indexterm" name="id2590 258"></a>618 <a class="indexterm" name="id2590 265"></a>615 <a class="indexterm" name="id2590294"></a> 616 <a class="indexterm" name="id2590301"></a> 617 <a class="indexterm" name="id2590308"></a> 618 <a class="indexterm" name="id2590315"></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="id2590 296"></a>624 <a class="indexterm" name="id2590346"></a> 625 625 For more details on using <code class="literal">smbpasswd</code>, refer to the man page (the 626 626 definitive reference). 627 627 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="pdbeditthing"></a>The <code class="literal">pdbedit</code> Tool</h3></div></div></div><p> 628 <a class="indexterm" name="id25903 31"></a>629 <a class="indexterm" name="id25903 38"></a>630 <a class="indexterm" name="id25903 44"></a>631 <a class="indexterm" name="id2590 351"></a>628 <a class="indexterm" name="id2590380"></a> 629 <a class="indexterm" name="id2590387"></a> 630 <a class="indexterm" name="id2590394"></a> 631 <a class="indexterm" name="id2590401"></a> 632 632 <code class="literal">pdbedit</code> is a tool that can be used only by root. It is used to 633 633 manage the passdb backend, as well as domain-wide account policy settings. <code class="literal">pdbedit</code> 634 634 can be used to: 635 635 </p><div class="itemizedlist"><ul type="disc"><li><p>add, remove, or modify user accounts.</p></li><li><p>list user accounts.</p></li><li><p>migrate user accounts.</p></li><li><p>migrate group accounts.</p></li><li><p>manage account policies.</p></li><li><p>manage domain access policy settings.</p></li></ul></div><p> 636 <a class="indexterm" name="id25904 11"></a>636 <a class="indexterm" name="id2590460"></a> 637 637 Under the terms of the Sarbanes-Oxley Act of 2002, American businesses and organizations are mandated to 638 638 implement a series of <code class="literal">internal controls</code> and procedures to communicate, store, … … 640 640 </p><div class="orderedlist"><ol type="1"><li><p>Who has access to information systems that store financial data.</p></li><li><p>How personal and financial information is treated among employees and business 641 641 partners.</p></li><li><p>How security vulnerabilities are managed.</p></li><li><p>Security and patch level maintenance for all information systems.</p></li><li><p>How information systems changes are documented and tracked.</p></li><li><p>How information access controls are implemented and managed.</p></li><li><p>Auditability of all information systems in respect of change and security.</p></li><li><p>Disciplinary procedures and controls to ensure privacy.</p></li></ol></div><p> 642 <a class="indexterm" name="id2590 483"></a>643 <a class="indexterm" name="id2590 490"></a>642 <a class="indexterm" name="id2590532"></a> 643 <a class="indexterm" name="id2590539"></a> 644 644 In short, the Sarbanes-Oxley Act of 2002 is an instrument that enforces accountability in respect of 645 645 business related information systems so as to ensure the compliance of all information systems that … … 647 647 accountabilities are being demanded around the world. 648 648 </p><p> 649 <a class="indexterm" name="id25905 06"></a>650 <a class="indexterm" name="id25905 13"></a>651 <a class="indexterm" name="id25905 20"></a>652 <a class="indexterm" name="id25905 26"></a>653 <a class="indexterm" name="id25905 33"></a>649 <a class="indexterm" name="id2590562"></a> 650 <a class="indexterm" name="id2590568"></a> 651 <a class="indexterm" name="id2590575"></a> 652 <a class="indexterm" name="id2590582"></a> 653 <a class="indexterm" name="id2590589"></a> 654 654 The need to be familiar with the Samba tools and facilities that permit information systems operation 655 655 in compliance with government laws and regulations is clear to all. The <code class="literal">pdbedit</code> is … … 660 660 Domain global policy controls available in Windows NT4 compared with Samba 661 661 is shown in <a class="link" href="passdb.html#policycontrols" title="Table 11.1. NT4 Domain v's Samba Policy Controls">NT4 Domain v's Samba Policy Controls</a>. 662 </p><div class="table"><a name="policycontrols"></a><p class="title"><b>Table 11.1. NT4 Domain v's Samba Policy Controls</b></p><div class="table-contents"><table summary="NT4 Domain v's Samba Policy Controls" border="1"><colgroup><col align="left"><col align="left"><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="left"><p>NT4 policy Name</p></th><th align="left"><p>Samba Policy Name</p></th><th align="center"><p>NT4 Range</p></th><th align="center"><p>Samba Range</p></th><th align="center"><p>Samba Default</p></th></tr></thead><tbody><tr><td align="left"><p>Maximum Password Age</p></td><td align="left"><p>maximum password age</p></td><td align="center"><p>0 - 999 (days)</p></td><td align="center"><p>0 - 4294967295 (sec)</p></td><td align="center"><p>4294967295</p></td></tr><tr><td align="left"><p>Minimum Password Age</p></td><td align="left"><p>minimum password age</p></td><td align="center"><p>0 - 999 (days)</p></td><td align="center"><p>0 - 4294967295 (sec)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Mi mimum Password Length</p></td><td align="left"><p>min password length</p></td><td align="center"><p>1 - 14 (Chars)</p></td><td align="center"><p>0 - 4294967295 (Chars)</p></td><td align="center"><p>5</p></td></tr><tr><td align="left"><p>Password Uniqueness</p></td><td align="left"><p>password history</p></td><td align="center"><p>0 - 23 (#)</p></td><td align="center"><p>0 - 4294967295 (#)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Account Lockout - Reset count after</p></td><td align="left"><p>reset count minutes</p></td><td align="center"><p>1 - 99998 (min)</p></td><td align="center"><p>0 - 4294967295 (min)</p></td><td align="center"><p>30</p></td></tr><tr><td align="left"><p>Lockout after bad logon attempts</p></td><td align="left"><p>bad lockout attempt</p></td><td align="center"><p>0 - 998 (#)</p></td><td align="center"><p>0 - 4294967295 (#)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>*** Not Known ***</p></td><td align="left"><p>disconnect time</p></td><td align="center"><p>TBA</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Lockout Duration</p></td><td align="left"><p>lockout duration</p></td><td align="center"><p>1 - 99998 (min)</p></td><td align="center"><p>0 - 4294967295 (min)</p></td><td align="center"><p>30</p></td></tr><tr><td align="left"><p>Users must log on in order to change password</p></td><td align="left"><p>user must logon to change password</p></td><td align="center"><p>0/1</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>*** Registry Setting ***</p></td><td align="left"><p>refuse machine password change</p></td><td align="center"><p>0/1</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr></tbody></table></div></div><br class="table-break"><p>663 <a class="indexterm" name="id25909 16"></a>664 <a class="indexterm" name="id25909 23"></a>665 <a class="indexterm" name="id25909 30"></a>666 <a class="indexterm" name="id25909 37"></a>662 </p><div class="table"><a name="policycontrols"></a><p class="title"><b>Table 11.1. NT4 Domain v's Samba Policy Controls</b></p><div class="table-contents"><table summary="NT4 Domain v's Samba Policy Controls" border="1"><colgroup><col align="left"><col align="left"><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="left"><p>NT4 policy Name</p></th><th align="left"><p>Samba Policy Name</p></th><th align="center"><p>NT4 Range</p></th><th align="center"><p>Samba Range</p></th><th align="center"><p>Samba Default</p></th></tr></thead><tbody><tr><td align="left"><p>Maximum Password Age</p></td><td align="left"><p>maximum password age</p></td><td align="center"><p>0 - 999 (days)</p></td><td align="center"><p>0 - 4294967295 (sec)</p></td><td align="center"><p>4294967295</p></td></tr><tr><td align="left"><p>Minimum Password Age</p></td><td align="left"><p>minimum password age</p></td><td align="center"><p>0 - 999 (days)</p></td><td align="center"><p>0 - 4294967295 (sec)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Minimum Password Length</p></td><td align="left"><p>min password length</p></td><td align="center"><p>1 - 14 (Chars)</p></td><td align="center"><p>0 - 4294967295 (Chars)</p></td><td align="center"><p>5</p></td></tr><tr><td align="left"><p>Password Uniqueness</p></td><td align="left"><p>password history</p></td><td align="center"><p>0 - 23 (#)</p></td><td align="center"><p>0 - 4294967295 (#)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Account Lockout - Reset count after</p></td><td align="left"><p>reset count minutes</p></td><td align="center"><p>1 - 99998 (min)</p></td><td align="center"><p>0 - 4294967295 (min)</p></td><td align="center"><p>30</p></td></tr><tr><td align="left"><p>Lockout after bad logon attempts</p></td><td align="left"><p>bad lockout attempt</p></td><td align="center"><p>0 - 998 (#)</p></td><td align="center"><p>0 - 4294967295 (#)</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>*** Not Known ***</p></td><td align="left"><p>disconnect time</p></td><td align="center"><p>TBA</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>Lockout Duration</p></td><td align="left"><p>lockout duration</p></td><td align="center"><p>1 - 99998 (min)</p></td><td align="center"><p>0 - 4294967295 (min)</p></td><td align="center"><p>30</p></td></tr><tr><td align="left"><p>Users must log on in order to change password</p></td><td align="left"><p>user must logon to change password</p></td><td align="center"><p>0/1</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr><tr><td align="left"><p>*** Registry Setting ***</p></td><td align="left"><p>refuse machine password change</p></td><td align="center"><p>0/1</p></td><td align="center"><p>0 - 4294967295</p></td><td align="center"><p>0</p></td></tr></tbody></table></div></div><br class="table-break"><p> 663 <a class="indexterm" name="id2590972"></a> 664 <a class="indexterm" name="id2590979"></a> 665 <a class="indexterm" name="id2590986"></a> 666 <a class="indexterm" name="id2590993"></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="id259 0956"></a>672 <a class="indexterm" name="id259 0963"></a>673 <a class="indexterm" name="id259 0970"></a>671 <a class="indexterm" name="id2591012"></a> 672 <a class="indexterm" name="id2591018"></a> 673 <a class="indexterm" name="id2591026"></a> 674 674 One particularly important purpose of the <code class="literal">pdbedit</code> is to allow 675 675 the import/export of account information from one passdb backend to another. 676 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id259 0986"></a>User Account Management</h4></div></div></div><p>677 <a class="indexterm" name="id259 0994"></a>678 <a class="indexterm" name="id25910 01"></a>679 <a class="indexterm" name="id25910 08"></a>680 <a class="indexterm" name="id25910 15"></a>681 <a class="indexterm" name="id25910 22"></a>682 <a class="indexterm" name="id25910 29"></a>683 <a class="indexterm" name="id25910 36"></a>676 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2591042"></a>User Account Management</h4></div></div></div><p> 677 <a class="indexterm" name="id2591050"></a> 678 <a class="indexterm" name="id2591057"></a> 679 <a class="indexterm" name="id2591064"></a> 680 <a class="indexterm" name="id2591070"></a> 681 <a class="indexterm" name="id2591077"></a> 682 <a class="indexterm" name="id2591084"></a> 683 <a class="indexterm" name="id2591091"></a> 684 684 The <code class="literal">pdbedit</code> tool, like the <code class="literal">smbpasswd</code> tool, requires 685 685 that a POSIX user account already exists in the UNIX/Linux system accounts database (backend). … … 691 691 make use of these interface scripts. 692 692 </p><p> 693 <a class="indexterm" name="id2591 079"></a>694 <a class="indexterm" name="id2591 086"></a>693 <a class="indexterm" name="id2591135"></a> 694 <a class="indexterm" name="id2591142"></a> 695 695 Before attempting to use the <code class="literal">pdbedit</code> tool to manage user and machine 696 696 accounts, make certain that a system (POSIX) account has already been created. 697 </p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id25911 03"></a>Listing User and Machine Accounts</h5></div></div></div><p>698 <a class="indexterm" name="id25911 11"></a>699 <a class="indexterm" name="id25911 18"></a>697 </p><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591158"></a>Listing User and Machine Accounts</h5></div></div></div><p> 698 <a class="indexterm" name="id2591166"></a> 699 <a class="indexterm" name="id2591173"></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="id2591 160"></a>726 <a class="indexterm" name="id2591215"></a> 727 727 Accounts can also be listed in the older <code class="literal">smbpasswd</code> format: 728 728 </p><pre class="screen"> … … 749 749 C610EFE9A385A3E8AA46ADFD576E6881:[W ]:LCT-40F07A4 750 750 </pre><p> 751 <a class="indexterm" name="id25912 08"></a>752 <a class="indexterm" name="id25912 15"></a>753 <a class="indexterm" name="id25912 22"></a>754 <a class="indexterm" name="id25912 28"></a>755 <a class="indexterm" name="id25912 35"></a>756 <a class="indexterm" name="id25912 42"></a>751 <a class="indexterm" name="id2591264"></a> 752 <a class="indexterm" name="id2591271"></a> 753 <a class="indexterm" name="id2591277"></a> 754 <a class="indexterm" name="id2591284"></a> 755 <a class="indexterm" name="id2591291"></a> 756 <a class="indexterm" name="id2591298"></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="id2591 293"></a>761 <a class="indexterm" name="id25913 00"></a>760 <a class="indexterm" name="id2591348"></a> 761 <a class="indexterm" name="id2591355"></a> 762 762 The Account Flags parameters are documented in the <code class="literal">pdbedit</code> man page, and are 763 763 briefly documented in <a class="link" href="passdb.html#TOSHARG-acctflags" title="Account Flags Management">the Account Flags Management section</a>. 764 764 </p><p> 765 <a class="indexterm" name="id25913 26"></a>765 <a class="indexterm" name="id2591382"></a> 766 766 The LCT data consists of 8 hexadecimal characters representing the time since January 1, 1970, of 767 767 the time when the password was last changed. 768 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id25913 38"></a>Adding User Accounts</h5></div></div></div><p>769 <a class="indexterm" name="id2591 346"></a>770 <a class="indexterm" name="id2591 353"></a>771 <a class="indexterm" name="id2591 360"></a>772 <a class="indexterm" name="id2591 366"></a>773 <a class="indexterm" name="id2591 373"></a>768 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591393"></a>Adding User Accounts</h5></div></div></div><p> 769 <a class="indexterm" name="id2591401"></a> 770 <a class="indexterm" name="id2591408"></a> 771 <a class="indexterm" name="id2591415"></a> 772 <a class="indexterm" name="id2591422"></a> 773 <a class="indexterm" name="id2591429"></a> 774 774 The <code class="literal">pdbedit</code> can be used to add a user account to a standalone server 775 775 or to a domain. In the example shown here the account for the user <code class="literal">vlaan</code> … … 803 803 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 804 804 </pre><p> 805 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id25914 25"></a>Deleting Accounts</h5></div></div></div><p>806 <a class="indexterm" name="id25914 33"></a>807 <a class="indexterm" name="id25914 40"></a>808 <a class="indexterm" name="id2591 447"></a>809 <a class="indexterm" name="id2591 454"></a>805 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591481"></a>Deleting Accounts</h5></div></div></div><p> 806 <a class="indexterm" name="id2591489"></a> 807 <a class="indexterm" name="id2591496"></a> 808 <a class="indexterm" name="id2591502"></a> 809 <a class="indexterm" name="id2591509"></a> 810 810 An account can be deleted from the SambaSAMAccount database 811 811 </p><pre class="screen"> … … 815 815 SambaSAMAccount (passdb backend) database, it is not removed from the UNIX account backend. 816 816 </p><p> 817 <a class="indexterm" name="id2591 480"></a>818 <a class="indexterm" name="id2591 487"></a>817 <a class="indexterm" name="id2591536"></a> 818 <a class="indexterm" name="id2591543"></a> 819 819 The use of the NT4 domain user manager to delete an account will trigger the <em class="parameter"><code>delete user 820 820 script</code></em>, but not the <code class="literal">pdbedit</code> tool. 821 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id25915 10"></a>Changing User Accounts</h5></div></div></div><p>822 <a class="indexterm" name="id25915 18"></a>821 </p></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2591565"></a>Changing User Accounts</h5></div></div></div><p> 822 <a class="indexterm" name="id2591573"></a> 823 823 Refer to the <code class="literal">pdbedit</code> man page for a full synopsis of all operations 824 824 that are available with this tool. 825 825 </p><p> 826 <a class="indexterm" name="id25915 36"></a>826 <a class="indexterm" name="id2591591"></a> 827 827 An example of a simple change in the user account information is the change of the full name 828 828 information shown here: … … 836 836 </pre><p> 837 837 </p><p> 838 <a class="indexterm" name="id2591 563"></a>839 <a class="indexterm" name="id2591 569"></a>840 <a class="indexterm" name="id2591 576"></a>838 <a class="indexterm" name="id2591618"></a> 839 <a class="indexterm" name="id2591625"></a> 840 <a class="indexterm" name="id2591632"></a> 841 841 Let us assume for a moment that a user's password has expired and the user is unable to 842 842 change the password at this time. It may be necessary to give the user additional grace time … … 853 853 ... 854 854 </pre><p> 855 <a class="indexterm" name="id25916 05"></a>856 <a class="indexterm" name="id25916 12"></a>855 <a class="indexterm" name="id2591660"></a> 856 <a class="indexterm" name="id2591667"></a> 857 857 The user has recorded 2 bad logon attempts and the next will lock the account, but the 858 858 password is also expired. Here is how this account can be reset: … … 886 886 ... 887 887 </pre><p> 888 <a class="indexterm" name="id2591 676"></a>889 <a class="indexterm" name="id2591 683"></a>888 <a class="indexterm" name="id2591731"></a> 889 <a class="indexterm" name="id2591738"></a> 890 890 Refer to the strptime man page for specific time format information. 891 891 </p><p> 892 <a class="indexterm" name="id2591 694"></a>893 <a class="indexterm" name="id25917 01"></a>892 <a class="indexterm" name="id2591750"></a> 893 <a class="indexterm" name="id2591756"></a> 894 894 Please refer to the pdbedit man page for further information relating to SambaSAMAccount 895 895 management. 896 896 </p><div class="sect5" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="TOSHARG-acctflags"></a>Account Flags Management</h6></div></div></div><p> 897 <a class="indexterm" name="id25917 22"></a>898 <a class="indexterm" name="id25917 30"></a>899 <a class="indexterm" name="id25917 39"></a>900 <a class="indexterm" name="id2591 746"></a>897 <a class="indexterm" name="id2591778"></a> 898 <a class="indexterm" name="id2591785"></a> 899 <a class="indexterm" name="id2591794"></a> 900 <a class="indexterm" name="id2591801"></a> 901 901 The Samba SAM account flags are properly called the ACB (account control block) within 902 902 the Samba source code. In some parts of the Samba source code they are referred to as the 903 903 account encode_bits, and also as the account control flags. 904 904 </p><p> 905 <a class="indexterm" name="id2591 760"></a>906 <a class="indexterm" name="id2591 767"></a>907 <a class="indexterm" name="id2591 774"></a>908 <a class="indexterm" name="id2591 781"></a>909 <a class="indexterm" name="id2591 788"></a>905 <a class="indexterm" name="id2591816"></a> 906 <a class="indexterm" name="id2591823"></a> 907 <a class="indexterm" name="id2591830"></a> 908 <a class="indexterm" name="id2591836"></a> 909 <a class="indexterm" name="id2591843"></a> 910 910 The manual adjustment of user, machine (workstation or server) or an inter-domain trust 911 911 account account flgas should not be necessary under normal conditions of use of Samba. On the other hand, … … 913 913 useful. The tool of choice by which such correction can be affected is the <code class="literal">pdbedit</code> utility. 914 914 </p><p> 915 <a class="indexterm" name="id25918 11"></a>916 <a class="indexterm" name="id25918 18"></a>915 <a class="indexterm" name="id2591873"></a> 916 <a class="indexterm" name="id2591880"></a> 917 917 There have been a few requests for information regarding the account flags from developers 918 918 who are creating their own Samba management tools. An example of a need for information regarding … … 920 920 to manage an LDAP directory. 921 921 </p><p> 922 <a class="indexterm" name="id25918 33"></a>923 <a class="indexterm" name="id2591 840"></a>922 <a class="indexterm" name="id2591895"></a> 923 <a class="indexterm" name="id2591902"></a> 924 924 The account flag field can contain up to 16 characters. Presently, only 11 are in use. 925 925 These are listed in <a class="link" href="passdb.html#accountflags" title="Table 11.2. Samba SAM Account Control Block Flags">Samba SAM Account Control Block Flags</a>. … … 927 927 In fact, they can be set without problem in any order in the SambaAcctFlags record in the LDAP directory. 928 928 </p><div class="table"><a name="accountflags"></a><p class="title"><b>Table 11.2. Samba SAM Account Control Block Flags</b></p><div class="table-contents"><table summary="Samba SAM Account Control Block Flags" border="1"><colgroup><col><col></colgroup><thead><tr><th align="center">Flag</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">D</td><td align="left">Account is disabled.</td></tr><tr><td align="center">H</td><td align="left">A home directory is required.</td></tr><tr><td align="center">I</td><td align="left">An inter-domain trust account.</td></tr><tr><td align="center">L</td><td align="left">Account has been auto-locked.</td></tr><tr><td align="center">M</td><td align="left">An MNS (Microsoft network service) logon account.</td></tr><tr><td align="center">N</td><td align="left">Password not required.</td></tr><tr><td align="center">S</td><td align="left">A server trust account.</td></tr><tr><td align="center">T</td><td align="left">Temporary duplicate account entry.</td></tr><tr><td align="center">U</td><td align="left">A normal user account.</td></tr><tr><td align="center">W</td><td align="left">A workstation trust account.</td></tr><tr><td align="center">X</td><td align="left">Password does not expire.</td></tr></tbody></table></div></div><br class="table-break"><p> 929 <a class="indexterm" name="id2592 071"></a>930 <a class="indexterm" name="id2592 078"></a>929 <a class="indexterm" name="id2592133"></a> 930 <a class="indexterm" name="id2592140"></a> 931 931 An example of use of the <code class="literal">pdbedit</code> utility to set the account control flags 932 932 is shown here: … … 956 956 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 957 957 </pre><p> 958 <a class="indexterm" name="id25921 33"></a>958 <a class="indexterm" name="id2592195"></a> 959 959 The flags can be reset to the default settings by executing: 960 960 </p><pre class="screen"> … … 983 983 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 984 984 </pre><p> 985 </p></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2592 170"></a>Domain Account Policy Managment</h5></div></div></div><p>986 <a class="indexterm" name="id2592 178"></a>987 <a class="indexterm" name="id2592 186"></a>985 </p></div></div><div class="sect4" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="id2592232"></a>Domain Account Policy Managment</h5></div></div></div><p> 986 <a class="indexterm" name="id2592240"></a> 987 <a class="indexterm" name="id2592248"></a> 988 988 To view the domain account access policies that may be configured execute: 989 989 </p><pre class="screen"> … … 1016 1016 account policy value for maximum password age was 4294967295 1017 1017 account policy value for maximum password age is now 7776000 1018 <code class="prompt">root# </code> pdbedit -P "minimum password age" -C 71018 <code class="prompt">root# </code> pdbedit -P "minimum password age" -C 604800 1019 1019 account policy value for minimum password age was 0 1020 1020 account policy value for minimum password age is now 7 … … 1033 1033 time there after. Please check the WHATSNEW.txt file in the Samba-3 tarball for specific update notiations 1034 1034 regarding this facility. 1035 </p></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25923 32"></a>Account Import/Export</h4></div></div></div><p>1036 <a class="indexterm" name="id2592 340"></a>1037 <a class="indexterm" name="id2592 346"></a>1038 <a class="indexterm" name="id2592 354"></a>1035 </p></div></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2592394"></a>Account Import/Export</h4></div></div></div><p> 1036 <a class="indexterm" name="id2592402"></a> 1037 <a class="indexterm" name="id2592409"></a> 1038 <a class="indexterm" name="id2592416"></a> 1039 1039 The <code class="literal">pdbedit</code> tool allows import/export of authentication (account) 1040 1040 databases from one backend to another. For example, to import/export accounts from an … … 1042 1042 backend: 1043 1043 </p><div class="procedure"><ol type="1"><li><p> 1044 <a class="indexterm" name="id2592 390"></a>1044 <a class="indexterm" name="id2592452"></a> 1045 1045 </p><pre class="screen"> 1046 1046 <code class="prompt">root# </code><strong class="userinput"><code>pdbedit -i smbpasswd -e tdbsam</code></strong> 1047 1047 </pre><p> 1048 1048 </p></li><li><p> 1049 <a class="indexterm" name="id25924 20"></a>1049 <a class="indexterm" name="id2592482"></a> 1050 1050 Replace the <em class="parameter"><code>smbpasswd</code></em> with <em class="parameter"><code>tdbsam</code></em> in the 1051 1051 <em class="parameter"><code>passdb backend</code></em> configuration in <code class="filename">smb.conf</code>. 1052 </p></li></ol></div></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2592 457"></a>Password Backends</h2></div></div></div><p>1053 <a class="indexterm" name="id2592 464"></a>1054 <a class="indexterm" name="id2592 471"></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="id2592519"></a>Password Backends</h2></div></div></div><p> 1053 <a class="indexterm" name="id2592527"></a> 1054 <a class="indexterm" name="id2592534"></a> 1055 1055 Samba offers flexibility in backend account database design. The flexibility is immediately obvious as one 1056 1056 begins to explore this capability. Recent changes to Samba (since 3.0.23) have removed the mulitple backend … … 1058 1058 operation of Samba-3 more consistent and predictable. 1059 1059 </p><p> 1060 <a class="indexterm" name="id2592 488"></a>1061 <a class="indexterm" name="id2592 495"></a>1060 <a class="indexterm" name="id2592550"></a> 1061 <a class="indexterm" name="id2592557"></a> 1062 1062 Beginning with Samba 3.0.23 it is no longer possible to specify use of mulitple passdb backends. Earlier 1063 1063 versions of Samba-3 made it possible to specify multiple password backends, and even multiple … … 1065 1065 SID to name ID resolution. The Samba team wrestled with the challenges and decided that this feature needed 1066 1066 to be removed. 1067 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25925 10"></a>Plaintext</h3></div></div></div><p>1068 <a class="indexterm" name="id25925 18"></a>1069 <a class="indexterm" name="id25925 25"></a>1070 <a class="indexterm" name="id25925 32"></a>1071 <a class="indexterm" name="id2592 539"></a>1072 <a class="indexterm" name="id2592 546"></a>1073 <a class="indexterm" name="id2592 553"></a>1067 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592572"></a>Plaintext</h3></div></div></div><p> 1068 <a class="indexterm" name="id2592580"></a> 1069 <a class="indexterm" name="id2592587"></a> 1070 <a class="indexterm" name="id2592594"></a> 1071 <a class="indexterm" name="id2592601"></a> 1072 <a class="indexterm" name="id2592608"></a> 1073 <a class="indexterm" name="id2592615"></a> 1074 1074 Older versions of Samba retrieved user information from the UNIX user database 1075 1075 and eventually some other fields from the file <code class="filename">/etc/samba/smbpasswd</code> … … 1078 1078 that the Samba host OS will access its <code class="filename">/etc/passwd</code> database. 1079 1079 On most Linux systems, for example, all user and group resolution is done via PAM. 1080 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592 586"></a>smbpasswd: Encrypted Password Database</h3></div></div></div><p>1081 <a class="indexterm" name="id2592 594"></a>1082 <a class="indexterm" name="id25926 04"></a>1083 <a class="indexterm" name="id25926 11"></a>1084 <a class="indexterm" name="id25926 18"></a>1080 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592648"></a>smbpasswd: Encrypted Password Database</h3></div></div></div><p> 1081 <a class="indexterm" name="id2592657"></a> 1082 <a class="indexterm" name="id2592666"></a> 1083 <a class="indexterm" name="id2592673"></a> 1084 <a class="indexterm" name="id2592680"></a> 1085 1085 Traditionally, when configuring <a class="link" href="smb.conf.5.html#ENCRYPTPASSWORDS" target="_top">encrypt passwords = yes</a> 1086 1086 in Samba's <code class="filename">smb.conf</code> file, user account information such as username, LM/NT password hashes, … … 1089 1089 (counted in the thousands). 1090 1090 </p><div class="itemizedlist"><ul type="disc"><li><p> 1091 <a class="indexterm" name="id2592 660"></a>1091 <a class="indexterm" name="id2592723"></a> 1092 1092 The first problem is that all lookups must be performed sequentially. Given that 1093 there are approximately two lookups per domain logon (one during in tial logon validation1093 there are approximately two lookups per domain logon (one during initial logon validation 1094 1094 and one for a session connection setup, such as when mapping a network drive or printer), this 1095 1095 is a performance bottleneck for large sites. What is needed is an indexed approach 1096 1096 such as that used in databases. 1097 1097 </p></li><li><p> 1098 <a class="indexterm" name="id2592 678"></a>1099 <a class="indexterm" name="id2592 685"></a>1100 <a class="indexterm" name="id2592 692"></a>1101 <a class="indexterm" name="id2592 699"></a>1102 <a class="indexterm" name="id25927 05"></a>1098 <a class="indexterm" name="id2592740"></a> 1099 <a class="indexterm" name="id2592747"></a> 1100 <a class="indexterm" name="id2592754"></a> 1101 <a class="indexterm" name="id2592761"></a> 1102 <a class="indexterm" name="id2592767"></a> 1103 1103 The second problem is that administrators who desire to replicate an smbpasswd file 1104 1104 to more than one Samba server are left to use external tools such as … … 1106 1106 in-house scripts. 1107 1107 </p></li><li><p> 1108 <a class="indexterm" name="id25927 31"></a>1109 <a class="indexterm" name="id2592 738"></a>1110 <a class="indexterm" name="id2592 745"></a>1111 <a class="indexterm" name="id2592 752"></a>1112 <a class="indexterm" name="id2592 758"></a>1108 <a class="indexterm" name="id2592793"></a> 1109 <a class="indexterm" name="id2592800"></a> 1110 <a class="indexterm" name="id2592807"></a> 1111 <a class="indexterm" name="id2592814"></a> 1112 <a class="indexterm" name="id2592821"></a> 1113 1113 Finally, the amount of information that is stored in an smbpasswd entry leaves 1114 1114 no room for additional attributes such as a home directory, password expiration time, 1115 1115 or even a relative identifier (RID). 1116 1116 </p></li></ul></div><p> 1117 <a class="indexterm" name="id2592 775"></a>1118 <a class="indexterm" name="id2592 782"></a>1119 <a class="indexterm" name="id2592 789"></a>1120 <a class="indexterm" name="id2592 796"></a>1117 <a class="indexterm" name="id2592838"></a> 1118 <a class="indexterm" name="id2592844"></a> 1119 <a class="indexterm" name="id2592851"></a> 1120 <a class="indexterm" name="id2592858"></a> 1121 1121 As a result of these deficiencies, a more robust means of storing user attributes 1122 1122 used by smbd was developed. The API that defines access to user accounts … … 1124 1124 API and is still so named in the Samba source code trees). 1125 1125 </p><p> 1126 <a class="indexterm" name="id25928 12"></a>1127 <a class="indexterm" name="id25928 18"></a>1128 <a class="indexterm" name="id25928 26"></a>1129 <a class="indexterm" name="id25928 32"></a>1130 <a class="indexterm" name="id2592 839"></a>1126 <a class="indexterm" name="id2592874"></a> 1127 <a class="indexterm" name="id2592881"></a> 1128 <a class="indexterm" name="id2592888"></a> 1129 <a class="indexterm" name="id2592895"></a> 1130 <a class="indexterm" name="id2592901"></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="id2592 852"></a>tdbsam</h3></div></div></div><p>1135 <a class="indexterm" name="id2592 860"></a>1136 <a class="indexterm" name="id2592 869"></a>1137 <a class="indexterm" name="id2592 878"></a>1134 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2592914"></a>tdbsam</h3></div></div></div><p> 1135 <a class="indexterm" name="id2592922"></a> 1136 <a class="indexterm" name="id2592931"></a> 1137 <a class="indexterm" name="id2592940"></a> 1138 1138 Samba can store user and machine account data in a “<span class="quote">TDB</span>” (trivial database). 1139 1139 Using this backend does not require any additional configuration. This backend is 1140 1140 recommended for new installations that do not require LDAP. 1141 1141 </p><p> 1142 <a class="indexterm" name="id2592 896"></a>1143 <a class="indexterm" name="id25929 02"></a>1144 <a class="indexterm" name="id25929 09"></a>1145 <a class="indexterm" name="id25929 16"></a>1142 <a class="indexterm" name="id2592958"></a> 1143 <a class="indexterm" name="id2592965"></a> 1144 <a class="indexterm" name="id2592971"></a> 1145 <a class="indexterm" name="id2592978"></a> 1146 1146 As a general guide, the Samba Team does not recommend using the tdbsam backend for sites 1147 1147 that have 250 or more users. Additionally, tdbsam is not capable of scaling for use … … 1149 1149 database. Clearly, for reason of scalability, the use of ldapsam should be encouraged. 1150 1150 </p><p> 1151 <a class="indexterm" name="id25929 32"></a>1152 <a class="indexterm" name="id259 2939"></a>1153 <a class="indexterm" name="id259 2946"></a>1151 <a class="indexterm" name="id2592994"></a> 1152 <a class="indexterm" name="id2593001"></a> 1153 <a class="indexterm" name="id2593008"></a> 1154 1154 The recommendation of a 250-user limit is purely based on the notion that this 1155 1155 would generally involve a site that has routed networks, possibly spread across … … 1157 1157 the performance-based scalability limits of the tdbsam architecture. 1158 1158 </p><p> 1159 <a class="indexterm" name="id259 2961"></a>1160 <a class="indexterm" name="id259 2968"></a>1161 <a class="indexterm" name="id259 2975"></a>1162 <a class="indexterm" name="id259 2982"></a>1159 <a class="indexterm" name="id2593023"></a> 1160 <a class="indexterm" name="id2593030"></a> 1161 <a class="indexterm" name="id2593037"></a> 1162 <a class="indexterm" name="id2593044"></a> 1163 1163 There are sites that have thousands of users and yet require only one server. 1164 1164 One site recently reported having 4,500 user accounts on one UNIX system and … … 1168 1168 only on the need for a reliable distribution mechanism for the SambaSAMAccount 1169 1169 backend. 1170 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id25930 10"></a>ldapsam</h3></div></div></div><p>1171 <a class="indexterm" name="id25930 18"></a>1172 <a class="indexterm" name="id25930 25"></a>1173 <a class="indexterm" name="id25930 31"></a>1170 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2593072"></a>ldapsam</h3></div></div></div><p> 1171 <a class="indexterm" name="id2593080"></a> 1172 <a class="indexterm" name="id2593087"></a> 1173 <a class="indexterm" name="id2593094"></a> 1174 1174 There are a few points to stress that the ldapsam does not provide. The LDAP 1175 1175 support referred to in this documentation does not include: 1176 1176 </p><div class="itemizedlist"><ul type="disc"><li><p>A means of retrieving user account information from 1177 1177 a Windows 200x Active Directory server.</p></li><li><p>A means of replacing /etc/passwd.</p></li></ul></div><p> 1178 <a class="indexterm" name="id2593 060"></a>1179 <a class="indexterm" name="id2593 067"></a>1180 <a class="indexterm" name="id2593 074"></a>1181 <a class="indexterm" name="id2593 080"></a>1178 <a class="indexterm" name="id2593123"></a> 1179 <a class="indexterm" name="id2593129"></a> 1180 <a class="indexterm" name="id2593136"></a> 1181 <a class="indexterm" name="id2593142"></a> 1182 1182 The second item can be accomplished by using LDAP NSS and PAM modules. LGPL versions of these libraries can be 1183 1183 obtained from <a class="ulink" href="http://www.padl.com/" target="_top">PADL Software</a>. More information about the … … 1185 1185 <span class="emphasis"><em>LDAP, System Administration</em></span> by Gerald Carter, Chapter 6, Replacing NIS"</a>. 1186 1186 </p><p> 1187 <a class="indexterm" name="id25931 11"></a>1188 <a class="indexterm" name="id25931 18"></a>1189 <a class="indexterm" name="id25931 25"></a>1187 <a class="indexterm" name="id2593173"></a> 1188 <a class="indexterm" name="id2593180"></a> 1189 <a class="indexterm" name="id2593187"></a> 1190 1190 This document describes how to use an LDAP directory for storing Samba user 1191 1191 account information traditionally stored in the smbpasswd(5) file. It is … … 1200 1200 Two additional Samba resources that may prove to be helpful are: 1201 1201 </p><div class="itemizedlist"><ul type="disc"><li><p> 1202 <a class="indexterm" name="id25932 06"></a>1202 <a class="indexterm" name="id2593268"></a> 1203 1203 The <a class="ulink" href="http://www.unav.es/cti/ldap-smb/ldap-smb-3-howto.html" target="_top">Samba-PDC-LDAP-HOWTO</a> 1204 1204 maintained by Ignacio Coupeau. 1205 1205 </p></li><li><p> 1206 <a class="indexterm" name="id25932 25"></a>1207 <a class="indexterm" name="id25932 32"></a>1208 <a class="indexterm" name="id2593 239"></a>1206 <a class="indexterm" name="id2593287"></a> 1207 <a class="indexterm" name="id2593294"></a> 1208 <a class="indexterm" name="id2593301"></a> 1209 1209 The NT migration scripts from <a class="ulink" href="http://samba.idealx.org/" target="_top">IDEALX</a> that are 1210 1210 geared to manage users and groups in such a Samba-LDAP domain controller configuration. 1211 1211 Idealx also produced the smbldap-tools and the Interactive Console Management tool. 1212 </p></li></ul></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593 258"></a>Supported LDAP Servers</h4></div></div></div><p>1213 <a class="indexterm" name="id2593 266"></a>1214 <a class="indexterm" name="id2593 272"></a>1215 <a class="indexterm" name="id2593 279"></a>1216 <a class="indexterm" name="id2593 286"></a>1212 </p></li></ul></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593320"></a>Supported LDAP Servers</h4></div></div></div><p> 1213 <a class="indexterm" name="id2593328"></a> 1214 <a class="indexterm" name="id2593335"></a> 1215 <a class="indexterm" name="id2593341"></a> 1216 <a class="indexterm" name="id2593348"></a> 1217 1217 The LDAP ldapsam code was developed and tested using the OpenLDAP 2.x server and 1218 1218 client libraries. The same code should work with Netscape's Directory Server and client SDK. … … 1221 1221 </p><p> 1222 1222 Samba is capable of working with any standards-compliant LDAP server. 1223 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25933 13"></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="id2593375"></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="id2593 358"></a>1240 <a class="indexterm" name="id2593 365"></a>1241 <a class="indexterm" name="id2593 372"></a>1239 <a class="indexterm" name="id2593411"></a> 1240 <a class="indexterm" name="id2593418"></a> 1241 <a class="indexterm" name="id2593425"></a> 1242 1242 The <code class="filename">samba.schema</code> file has been formatted for OpenLDAP 2.0/2.1. 1243 1243 The Samba Team owns the OID space used by the above schema and recommends its use. … … 1245 1245 schema file as a patch to <a class="ulink" href="mailto:jerry@samba.org" target="_top">jerry@samba.org</a>. 1246 1246 </p><p> 1247 <a class="indexterm" name="id2593 399"></a>1248 <a class="indexterm" name="id25934 05"></a>1249 <a class="indexterm" name="id25934 12"></a>1250 <a class="indexterm" name="id25934 19"></a>1251 <a class="indexterm" name="id25934 26"></a>1252 <a class="indexterm" name="id25934 33"></a>1253 <a class="indexterm" name="id25934 40"></a>1247 <a class="indexterm" name="id2593452"></a> 1248 <a class="indexterm" name="id2593458"></a> 1249 <a class="indexterm" name="id2593465"></a> 1250 <a class="indexterm" name="id2593472"></a> 1251 <a class="indexterm" name="id2593479"></a> 1252 <a class="indexterm" name="id2593486"></a> 1253 <a class="indexterm" name="id2593492"></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="id2593 468"></a>1263 <a class="indexterm" name="id2593 475"></a>1264 <a class="indexterm" name="id2593 482"></a>1265 <a class="indexterm" name="id2593 489"></a>1266 <a class="indexterm" name="id2593 496"></a>1267 <a class="indexterm" name="id25935 03"></a>1268 <a class="indexterm" name="id25935 10"></a>1269 <a class="indexterm" name="id25935 16"></a>1270 <a class="indexterm" name="id25935 23"></a>1262 <a class="indexterm" name="id2593521"></a> 1263 <a class="indexterm" name="id2593528"></a> 1264 <a class="indexterm" name="id2593535"></a> 1265 <a class="indexterm" name="id2593542"></a> 1266 <a class="indexterm" name="id2593549"></a> 1267 <a class="indexterm" name="id2593556"></a> 1268 <a class="indexterm" name="id2593563"></a> 1269 <a class="indexterm" name="id2593569"></a> 1270 <a class="indexterm" name="id2593576"></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="id2593 548"></a>OpenLDAP Configuration</h4></div></div></div><p>1280 <a class="indexterm" name="id2593 556"></a>1281 <a class="indexterm" name="id2593 563"></a>1282 <a class="indexterm" name="id2593 570"></a>1283 <a class="indexterm" name="id2593 577"></a>1279 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593601"></a>OpenLDAP Configuration</h4></div></div></div><p> 1280 <a class="indexterm" name="id2593609"></a> 1281 <a class="indexterm" name="id2593616"></a> 1282 <a class="indexterm" name="id2593623"></a> 1283 <a class="indexterm" name="id2593630"></a> 1284 1284 To include support for the sambaSamAccount object in an OpenLDAP directory 1285 1285 server, first copy the samba.schema file to slapd's configuration directory. … … 1290 1290 </pre><p> 1291 1291 </p><p> 1292 <a class="indexterm" name="id25936 14"></a>1293 <a class="indexterm" name="id25936 21"></a>1294 <a class="indexterm" name="id25936 28"></a>1295 <a class="indexterm" name="id25936 34"></a>1296 <a class="indexterm" name="id25936 41"></a>1297 <a class="indexterm" name="id2593 648"></a>1298 <a class="indexterm" name="id2593 655"></a>1299 <a class="indexterm" name="id2593 662"></a>1292 <a class="indexterm" name="id2593667"></a> 1293 <a class="indexterm" name="id2593674"></a> 1294 <a class="indexterm" name="id2593680"></a> 1295 <a class="indexterm" name="id2593687"></a> 1296 <a class="indexterm" name="id2593694"></a> 1297 <a class="indexterm" name="id2593701"></a> 1298 <a class="indexterm" name="id2593708"></a> 1299 <a class="indexterm" name="id2593715"></a> 1300 1300 Next, include the <code class="filename">samba.schema</code> file in <code class="filename">slapd.conf</code>. 1301 1301 The sambaSamAccount object contains two attributes that depend on other schema … … 1317 1317 </pre><p> 1318 1318 </p><p> 1319 <a class="indexterm" name="id25937 30"></a>1320 <a class="indexterm" name="id25937 37"></a>1321 <a class="indexterm" name="id25937 44"></a>1322 <a class="indexterm" name="id2593 750"></a>1319 <a class="indexterm" name="id2593783"></a> 1320 <a class="indexterm" name="id2593790"></a> 1321 <a class="indexterm" name="id2593797"></a> 1322 <a class="indexterm" name="id2593803"></a> 1323 1323 It is recommended that you maintain some indices on some of the most useful attributes, 1324 1324 as in the following example, to speed up searches made on sambaSamAccount ObjectClasses … … 1358 1358 <code class="prompt">root# </code><strong class="userinput"><code>/etc/init.d/slapd restart</code></strong> 1359 1359 </pre><p> 1360 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25938 20"></a>Initialize the LDAP Database</h4></div></div></div><p>1361 <a class="indexterm" name="id25938 28"></a>1362 <a class="indexterm" name="id25938 35"></a>1363 <a class="indexterm" name="id25938 42"></a>1364 <a class="indexterm" name="id2593 849"></a>1360 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2593873"></a>Initialize the LDAP Database</h4></div></div></div><p> 1361 <a class="indexterm" name="id2593881"></a> 1362 <a class="indexterm" name="id2593888"></a> 1363 <a class="indexterm" name="id2593895"></a> 1364 <a class="indexterm" name="id2593902"></a> 1365 1365 Before you can add accounts to the LDAP database, you must create the account containers 1366 1366 that they will be stored in. The following LDIF file should be modified to match your … … 1424 1424 </pre><p> 1425 1425 </p><p> 1426 <a class="indexterm" name="id2593 892"></a>1427 <a class="indexterm" name="id2593 899"></a>1426 <a class="indexterm" name="id2593945"></a> 1427 <a class="indexterm" name="id2593952"></a> 1428 1428 The userPassword shown above should be generated using <code class="literal">slappasswd</code>. 1429 1429 </p><p> 1430 <a class="indexterm" name="id25939 16"></a>1431 <a class="indexterm" name="id25939 23"></a>1430 <a class="indexterm" name="id2593969"></a> 1431 <a class="indexterm" name="id2593976"></a> 1432 1432 The following command will then load the contents of the LDIF file into the LDAP 1433 1433 database. 1434 <a class="indexterm" name="id25939 31"></a>1434 <a class="indexterm" name="id2593984"></a> 1435 1435 </p><pre class="screen"> 1436 1436 <code class="prompt">$ </code><strong class="userinput"><code>slapadd -v -l initldap.dif</code></strong> … … 1440 1440 as well as an admin password. 1441 1441 </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> 1442 <a class="indexterm" name="id259 3963"></a>1442 <a class="indexterm" name="id2594016"></a> 1443 1443 Before Samba can access the LDAP server, you need to store the LDAP admin password 1444 1444 in the Samba-3 <code class="filename">secrets.tdb</code> database by: 1445 <a class="indexterm" name="id259 3978"></a>1445 <a class="indexterm" name="id2594031"></a> 1446 1446 </p><pre class="screen"> 1447 1447 <code class="prompt">root# </code><strong class="userinput"><code>smbpasswd -w <em class="replaceable"><code>secret</code></em></code></strong> 1448 1448 </pre><p> 1449 </p></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25940 06"></a>Configuring Samba</h4></div></div></div><p>1450 <a class="indexterm" name="id25940 14"></a>1451 <a class="indexterm" name="id25940 20"></a>1449 </p></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594059"></a>Configuring Samba</h4></div></div></div><p> 1450 <a class="indexterm" name="id2594066"></a> 1451 <a class="indexterm" name="id2594073"></a> 1452 1452 The following parameters are available in <code class="filename">smb.conf</code> only if your version of Samba was built with 1453 1453 LDAP support. Samba automatically builds with LDAP support if the LDAP libraries are found. The … … 1468 1468 and libraries were not found during compilation. 1469 1469 </p><p>LDAP-related smb.conf options include these: 1470 </p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="indexterm" name="id2594 077"></a><em class="parameter"><code>passdb backend = ldapsam:url</code></em></td></tr><tr><td><a class="indexterm" name="id2594089"></a></td></tr><tr><td><a class="indexterm" name="id2594096"></a></td></tr><tr><td><a class="indexterm" name="id2594103"></a></td></tr><tr><td><a class="indexterm" name="id2594110"></a></td></tr><tr><td><a class="indexterm" name="id2594116"></a></td></tr><tr><td><a class="indexterm" name="id2594123"></a></td></tr><tr><td><a class="indexterm" name="id2594130"></a></td></tr><tr><td><a class="indexterm" name="id2594137"></a></td></tr><tr><td><a class="indexterm" name="id2594144"></a></td></tr><tr><td><a class="indexterm" name="id2594151"></a></td></tr><tr><td><a class="indexterm" name="id2594158"></a></td></tr><tr><td><a class="indexterm" name="id2594165"></a></td></tr><tr><td><a class="indexterm" name="id2594172"></a></td></tr></table><p>1470 </p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="indexterm" name="id2594130"></a><em class="parameter"><code>passdb backend = ldapsam:url</code></em></td></tr><tr><td><a class="indexterm" name="id2594142"></a></td></tr><tr><td><a class="indexterm" name="id2594149"></a></td></tr><tr><td><a class="indexterm" name="id2594156"></a></td></tr><tr><td><a class="indexterm" name="id2594162"></a></td></tr><tr><td><a class="indexterm" name="id2594169"></a></td></tr><tr><td><a class="indexterm" name="id2594176"></a></td></tr><tr><td><a class="indexterm" name="id2594183"></a></td></tr><tr><td><a class="indexterm" name="id2594190"></a></td></tr><tr><td><a class="indexterm" name="id2594197"></a></td></tr><tr><td><a class="indexterm" name="id2594204"></a></td></tr><tr><td><a class="indexterm" name="id2594211"></a></td></tr><tr><td><a class="indexterm" name="id2594218"></a></td></tr><tr><td><a class="indexterm" name="id2594225"></a></td></tr></table><p> 1471 1471 </p><p> 1472 1472 These are described in the <code class="filename">smb.conf</code> man page and so are not repeated here. However, an example 1473 1473 for use with an LDAP directory is shown in <a class="link" href="passdb.html#confldapex" title="Example 11.2. Configuration with LDAP">the Configuration with LDAP.</a> 1474 </p><div class="example"><a name="confldapex"></a><p class="title"><b>Example 11.2. Configuration with LDAP</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id25942 23"></a><em class="parameter"><code>security = user</code></em></td></tr><tr><td><a class="indexterm" name="id2594235"></a><em class="parameter"><code>encrypt passwords = yes</code></em></td></tr><tr><td><a class="indexterm" name="id2594247"></a><em class="parameter"><code>netbios name = MORIA</code></em></td></tr><tr><td><a class="indexterm" name="id2594259"></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="id2594295"></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="id2594315"></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="id2594331"></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="id2594348"></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="id2594368"></a><em class="parameter"><code>ldap user suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id2594380"></a><em class="parameter"><code>ldap group suffix = ou=Groups</code></em></td></tr><tr><td><a class="indexterm" name="id2594392"></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="id2594416"></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="id2594430"></a>Accounts and Groups Management</h4></div></div></div><p>1475 <a class="indexterm" name="id25944 38"></a>1476 <a class="indexterm" name="id25944 45"></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="id2594276"></a><em class="parameter"><code>security = user</code></em></td></tr><tr><td><a class="indexterm" name="id2594288"></a><em class="parameter"><code>encrypt passwords = yes</code></em></td></tr><tr><td><a class="indexterm" name="id2594300"></a><em class="parameter"><code>netbios name = MORIA</code></em></td></tr><tr><td><a class="indexterm" name="id2594312"></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="id2594348"></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="id2594368"></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="id2594384"></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="id2594401"></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="id2594421"></a><em class="parameter"><code>ldap user suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id2594433"></a><em class="parameter"><code>ldap group suffix = ou=Groups</code></em></td></tr><tr><td><a class="indexterm" name="id2594445"></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="id2594469"></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="id2594483"></a>Accounts and Groups Management</h4></div></div></div><p> 1475 <a class="indexterm" name="id2594491"></a> 1476 <a class="indexterm" name="id2594498"></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="id2594 461"></a>1481 <a class="indexterm" name="id2594 468"></a>1482 <a class="indexterm" name="id2594 475"></a>1480 <a class="indexterm" name="id2594514"></a> 1481 <a class="indexterm" name="id2594521"></a> 1482 <a class="indexterm" name="id2594528"></a> 1483 1483 Machine accounts are managed with the sambaSamAccount ObjectClass, just 1484 1484 like user accounts. However, it is up to you to store those accounts … … 1489 1489 configuration file). 1490 1490 </p><p> 1491 <a class="indexterm" name="id25945 04"></a>1492 <a class="indexterm" name="id25945 11"></a>1493 <a class="indexterm" name="id25945 18"></a>1494 <a class="indexterm" name="id25945 25"></a>1491 <a class="indexterm" name="id2594557"></a> 1492 <a class="indexterm" name="id2594564"></a> 1493 <a class="indexterm" name="id2594571"></a> 1494 <a class="indexterm" name="id2594578"></a> 1495 1495 In Samba-3, the group management system is based on POSIX 1496 1496 groups. This means that Samba makes use of the posixGroup ObjectClass. … … 1499 1499 and, unlike MS Windows 2000 and Active Directory, Samba-3 does not 1500 1500 support nested groups. 1501 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25945 43"></a>Security and sambaSamAccount</h4></div></div></div><p>1502 <a class="indexterm" name="id2594 552"></a>1501 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594596"></a>Security and sambaSamAccount</h4></div></div></div><p> 1502 <a class="indexterm" name="id2594604"></a> 1503 1503 There are two important points to remember when discussing the security 1504 1504 of sambaSAMAccount entries in the directory. 1505 1505 </p><div class="itemizedlist"><ul type="disc"><li><p><span class="emphasis"><em>Never</em></span> retrieve the SambaLMPassword or 1506 <a class="indexterm" name="id2594 570"></a>1506 <a class="indexterm" name="id2594623"></a> 1507 1507 SambaNTPassword attribute values over an unencrypted LDAP session.</p></li><li><p><span class="emphasis"><em>Never</em></span> allow non-admin users to 1508 1508 view the SambaLMPassword or SambaNTPassword attribute values.</p></li></ul></div><p> 1509 <a class="indexterm" name="id2594 591"></a>1510 <a class="indexterm" name="id2594 598"></a>1511 <a class="indexterm" name="id25946 05"></a>1509 <a class="indexterm" name="id2594644"></a> 1510 <a class="indexterm" name="id2594651"></a> 1511 <a class="indexterm" name="id2594658"></a> 1512 1512 These password hashes are clear-text equivalents and can be used to impersonate 1513 1513 the user without deriving the original clear-text strings. For more information … … 1515 1515 Account Information Database section</a>. 1516 1516 </p><p> 1517 <a class="indexterm" name="id25946 26"></a>1518 <a class="indexterm" name="id25946 33"></a>1519 <a class="indexterm" name="id25946 40"></a>1520 <a class="indexterm" name="id2594 647"></a>1517 <a class="indexterm" name="id2594679"></a> 1518 <a class="indexterm" name="id2594686"></a> 1519 <a class="indexterm" name="id2594693"></a> 1520 <a class="indexterm" name="id2594700"></a> 1521 1521 To remedy the first security issue, the <a class="link" href="smb.conf.5.html#LDAPSSL" target="_top">ldap ssl</a> <code class="filename">smb.conf</code> 1522 1522 parameter defaults to require an encrypted session (<a class="link" href="smb.conf.5.html#LDAPSSL" target="_top">ldap ssl = on</a>) using the default port of <code class="constant">636</code> when … … 1526 1526 (so do not set <a class="link" href="smb.conf.5.html#LDAPSSL" target="_top">ldap ssl = off</a>). 1527 1527 </p><p> 1528 <a class="indexterm" name="id25947 08"></a>1529 <a class="indexterm" name="id25947 15"></a>1530 <a class="indexterm" name="id25947 21"></a>1528 <a class="indexterm" name="id2594761"></a> 1529 <a class="indexterm" name="id2594768"></a> 1530 <a class="indexterm" name="id2594774"></a> 1531 1531 Note that the LDAPS protocol is deprecated in favor of the LDAPv3 StartTLS 1532 1532 extended operation. However, the OpenLDAP library still provides support for 1533 1533 the older method of securing communication between clients and servers. 1534 1534 </p><p> 1535 <a class="indexterm" name="id25947 36"></a>1536 <a class="indexterm" name="id25947 43"></a>1537 <a class="indexterm" name="id2594 749"></a>1535 <a class="indexterm" name="id2594788"></a> 1536 <a class="indexterm" name="id2594796"></a> 1537 <a class="indexterm" name="id2594802"></a> 1538 1538 The second security precaution is to prevent non-administrative users from 1539 1539 harvesting password hashes from the directory. This can be done using the … … 1546 1546 by * none 1547 1547 </pre><p> 1548 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2594 779"></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="id2594832"></a>LDAP Special Attributes for sambaSamAccounts</h4></div></div></div><p> The sambaSamAccount ObjectClass is composed of the attributes shown in next tables: <a class="link" href="passdb.html#attribobjclPartA" title="Table 11.3. Attributes in the sambaSamAccount ObjectClass (LDAP), Part A">Part A</a>, and <a class="link" href="passdb.html#attribobjclPartB" title="Table 11.4. Attributes in the sambaSamAccount ObjectClass (LDAP), Part B">Part B</a>. 1549 1549 </p><div class="table"><a name="attribobjclPartA"></a><p class="title"><b>Table 11.3. Attributes in the sambaSamAccount ObjectClass (LDAP), Part A</b></p><div class="table-contents"><table summary="Attributes in the sambaSamAccount ObjectClass (LDAP), Part A" border="1"><colgroup><col align="left"><col align="justify"></colgroup><tbody><tr><td align="left"><code class="constant">sambaLMPassword</code></td><td align="justify">The LanMan password 16-byte hash stored as a character 1550 1550 representation of a hexadecimal string.</td></tr><tr><td align="left"><code class="constant">sambaNTPassword</code></td><td align="justify">The NT password 16-byte hash stored as a character … … 1581 1581 The Windows equivalent of UNIX UIDs.</td></tr><tr><td align="left"><code class="constant">sambaPrimaryGroupSID</code></td><td align="justify">The security identifier (SID) of the primary group 1582 1582 of the user.</td></tr><tr><td align="left"><code class="constant">sambaDomainName</code></td><td align="justify">Domain the user is part of.</td></tr></tbody></table></div></div><br class="table-break"><p> 1583 <a class="indexterm" name="id25951 28"></a>1584 <a class="indexterm" name="id25951 34"></a>1583 <a class="indexterm" name="id2595180"></a> 1584 <a class="indexterm" name="id2595187"></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="id2595 156"></a><a class="indexterm" name="id2595163"></a><a class="indexterm" name="id2595170"></a><a class="indexterm" name="id2595177"></a><ul type="disc"><li><p>sambaHomePath</p></li><li><p>sambaLogonScript</p></li><li><p>sambaProfilePath</p></li><li><p>sambaHomeDrive</p></li></ul></div><p>1590 <a class="indexterm" name="id25952 06"></a>1591 <a class="indexterm" name="id25952 12"></a>1592 <a class="indexterm" name="id25952 19"></a>1589 </p><div class="itemizedlist"><a class="indexterm" name="id2595209"></a><a class="indexterm" name="id2595216"></a><a class="indexterm" name="id2595223"></a><a class="indexterm" name="id2595230"></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="id2595258"></a> 1591 <a class="indexterm" name="id2595265"></a> 1592 <a class="indexterm" name="id2595272"></a> 1593 1593 These attributes are only stored with the sambaSamAccount entry if 1594 1594 the values are non-default values. For example, assume MORIA has now been … … 1601 1601 will only write the attribute value to the directory entry if the value is 1602 1602 something other than the default (e.g., <code class="filename">\\MOBY\becky</code>). 1603 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2595 293"></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="id2595346"></a>Example LDIF Entries for a sambaSamAccount</h4></div></div></div><p> 1604 1604 The following is a working LDIF that demonstrates the use of the SambaSamAccount ObjectClass: 1605 1605 </p><pre class="programlisting"> … … 1646 1646 sambaNTPassword: 878D8014606CDA29677A44EFA1353FC7 1647 1647 </pre><p> 1648 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id25953 40"></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="id2595393"></a>Password Synchronization</h4></div></div></div><p> 1649 1649 Samba-3 and later can update the non-Samba (LDAP) password stored with an account. When 1650 1650 using pam_ldap, this allows changing both UNIX and Windows passwords at once. … … 1655 1655 <code class="constant">SambaLMPassword</code>.</p></td></tr><tr><td align="left">only</td><td align="justify"><p>Only update the LDAP password and let the LDAP server 1656 1656 worry about the other fields. This option is only available on some LDAP servers and 1657 only when the LDAP server supports LDAP_EXOP_X_MODIFY_PASSWD.</p></td></tr></tbody></table></div></div><br class="table-break"><p>More information can be found in the <code class="filename">smb.conf</code> man page.</p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2595 492"></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="id2595545"></a>Using OpenLDAP Overlay for Password Synchronization</h4></div></div></div><p> 1658 1658 Howard Chu has written a special overlay called <code class="literal">smbk5pwd</code>. This tool modifies the 1659 1659 <code class="literal">SambaNTPassword</code>, <code class="literal">SambaLMPassword</code> and <code class="literal">Heimdal</code> … … 1663 1663 <code class="filename">contrib/slapd-modules/smbk5pwd</code> subdirectory. This module can also be used with 1664 1664 OpenLDAP-2.2. 1665 </p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id25955 44"></a>Common Errors</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595549"></a>Users Cannot Logon</h3></div></div></div><p>“<span class="quote">I've installed Samba, but now I can't log on with my UNIX account! </span>”</p><p>Make sure your user has been added to the current Samba <a class="link" href="smb.conf.5.html#PASSDBBACKEND" target="_top">passdb backend</a>.1666 Read the <a class="link" href="passdb.html#acctmgmttools" title="Account Management Tools">Account Management Tools,</a> for details.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595 586"></a>Configuration of <em class="parameter"><code>auth methods</code></em></h3></div></div></div><p>1665 </p></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2595597"></a>Common Errors</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2595602"></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="id2595640"></a>Configuration of <em class="parameter"><code>auth methods</code></em></h3></div></div></div><p> 1667 1667 When explicitly setting an <a class="link" href="smb.conf.5.html#AUTHMETHODS" target="_top">auth methods</a> parameter, 1668 1668 <em class="parameter"><code>guest</code></em> must be specified as the first entry on the line
Note:
See TracChangeset
for help on using the changeset viewer.