- Timestamp:
- May 27, 2009, 9:08:03 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.2.x/docs/htmldocs/Samba3-HOWTO/idmapper.html
r226 r231 1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 14. Identity Mapping (IDMAP)</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.7 3.1"><link rel="start" href="index.html" title="The Official Samba 3.2.x HOWTO and Reference Guide"><link rel="up" href="optional.html" title="Part III. Advanced Configuration"><link rel="prev" href="NetCommand.html" title="Chapter 13. Remote and Local Management: The Net Command"><link rel="next" href="rights.html" title="Chapter 15. User Rights and Privileges"></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 14. Identity Mapping (IDMAP)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="NetCommand.html">Prev</a> </td><th width="60%" align="center">Part III. Advanced Configuration</th><td width="20%" align="right"> <a accesskey="n" href="rights.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="idmapper"></a>Chapter 14. Identity Mapping (IDMAP)</h2></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jht@samba.org">jht@samba.org</a>></code></p></div></div></div></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="idmapper.html#id2597506">Samba Server Deployment Types and IDMAP</a></span></dt><dd><dl><dt><span class="sect2"><a href="idmapper.html#id2597531">Standalone Samba Server</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2597593">Domain Member Server or Domain Member Client</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2598554">Primary Domain Controller</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2598788">Backup Domain Controller</a></span></dt></dl></dd><dt><span class="sect1"><a href="idmapper.html#id2598860">Examples of IDMAP Backend Usage</a></span></dt><dd><dl><dt><span class="sect2"><a href="idmapper.html#id2598923">Default Winbind TDB</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2599645">IDMAP_RID with Winbind</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2600235">IDMAP Storage in LDAP Using Winbind</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2600820">IDMAP and NSS Using LDAP from ADS with RFC2307bis Schema Extension</a></span></dt></dl></dd></dl></div><p>2 <a class="indexterm" name="id2 597231"></a>3 <a class="indexterm" name="id2 597238"></a>4 <a class="indexterm" name="id2 597245"></a>5 <a class="indexterm" name="id2 597252"></a>6 <a class="indexterm" name="id2 597261"></a>7 <a class="indexterm" name="id2 597268"></a>8 <a class="indexterm" name="id2 597274"></a>1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 14. Identity Mapping (IDMAP)</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="NetCommand.html" title="Chapter 13. Remote and Local Management: The Net Command"><link rel="next" href="rights.html" title="Chapter 15. User Rights and Privileges"></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 14. Identity Mapping (IDMAP)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="NetCommand.html">Prev</a> </td><th width="60%" align="center">Part III. Advanced Configuration</th><td width="20%" align="right"> <a accesskey="n" href="rights.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="idmapper"></a>Chapter 14. Identity Mapping (IDMAP)</h2></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><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="idmapper.html#id2604437">Samba Server Deployment Types and IDMAP</a></span></dt><dd><dl><dt><span class="sect2"><a href="idmapper.html#id2604462">Standalone Samba Server</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2604524">Domain Member Server or Domain Member Client</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2605485">Primary Domain Controller</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2605720">Backup Domain Controller</a></span></dt></dl></dd><dt><span class="sect1"><a href="idmapper.html#id2605791">Examples of IDMAP Backend Usage</a></span></dt><dd><dl><dt><span class="sect2"><a href="idmapper.html#id2605854">Default Winbind TDB</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2606577">IDMAP_RID with Winbind</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2607167">IDMAP Storage in LDAP Using Winbind</a></span></dt><dt><span class="sect2"><a href="idmapper.html#id2607752">IDMAP and NSS Using LDAP from ADS with RFC2307bis Schema Extension</a></span></dt></dl></dd></dl></div><p> 2 <a class="indexterm" name="id2604152"></a> 3 <a class="indexterm" name="id2604159"></a> 4 <a class="indexterm" name="id2604166"></a> 5 <a class="indexterm" name="id2604173"></a> 6 <a class="indexterm" name="id2604182"></a> 7 <a class="indexterm" name="id2604189"></a> 8 <a class="indexterm" name="id2604195"></a> 9 9 The Microsoft Windows operating system has a number of features that impose specific challenges 10 10 to interoperability with the operating systems on which Samba is implemented. This chapter deals … … 17 17 This is followed by an overview of how the IDMAP facility may be implemented. 18 18 </p><p> 19 <a class="indexterm" name="id2 597298"></a>20 <a class="indexterm" name="id2 597305"></a>21 <a class="indexterm" name="id2 597312"></a>22 <a class="indexterm" name="id2 597319"></a>19 <a class="indexterm" name="id2604219"></a> 20 <a class="indexterm" name="id2604226"></a> 21 <a class="indexterm" name="id2604233"></a> 22 <a class="indexterm" name="id2604240"></a> 23 23 The IDMAP facility is of concern where more than one Samba server (or Samba network client) 24 24 is installed in a domain. Where there is a single Samba server, do not be too concerned regarding … … 27 27 another, and that is where the fun begins! 28 28 </p><p> 29 <a class="indexterm" name="id2 597340"></a>30 <a class="indexterm" name="id2 597346"></a>31 <a class="indexterm" name="id2 597352"></a>32 <a class="indexterm" name="id2 597359"></a>33 <a class="indexterm" name="id2 597366"></a>34 <a class="indexterm" name="id2 597372"></a>35 <a class="indexterm" name="id2 597379"></a>36 <a class="indexterm" name="id2 597386"></a>29 <a class="indexterm" name="id2604261"></a> 30 <a class="indexterm" name="id2604267"></a> 31 <a class="indexterm" name="id2604273"></a> 32 <a class="indexterm" name="id2604280"></a> 33 <a class="indexterm" name="id2604286"></a> 34 <a class="indexterm" name="id2604293"></a> 35 <a class="indexterm" name="id2604300"></a> 36 <a class="indexterm" name="id2604307"></a> 37 37 Where user and group account information is stored in an LDAP directory every server can have the same 38 38 consistent UID and GID for users and groups. This is achieved using NSS and the nss_ldap tool. Samba … … 42 42 or if there is a need to keep the security name-space separate (i.e., the user 43 43 <code class="literal">DOMINICUS\FJones</code> must not be given access to the account resources of the user 44 <code class="literal">FRANCISCUS\FJones</code><sup>[<a name="id2 597415" href="#ftn.id2597415" class="footnote">4</a>]</sup> free from inadvertent cross-over, close attention should be given44 <code class="literal">FRANCISCUS\FJones</code><sup>[<a name="id2604346" href="#ftn.id2604346" class="footnote">4</a>]</sup> free from inadvertent cross-over, close attention should be given 45 45 to the way that the IDMAP facility is configured. 46 46 </p><p> 47 <a class="indexterm" name="id2 597443"></a>48 <a class="indexterm" name="id2 597449"></a>49 <a class="indexterm" name="id2 597456"></a>50 <a class="indexterm" name="id2 597463"></a>51 <a class="indexterm" name="id2 597469"></a>52 <a class="indexterm" name="id2 597476"></a>47 <a class="indexterm" name="id2604373"></a> 48 <a class="indexterm" name="id2604380"></a> 49 <a class="indexterm" name="id2604387"></a> 50 <a class="indexterm" name="id2604394"></a> 51 <a class="indexterm" name="id2604400"></a> 52 <a class="indexterm" name="id2604407"></a> 53 53 The use of IDMAP is important where the Samba server will be accessed by workstations or servers from 54 54 more than one domain, in which case it is important to run winbind so it can handle the resolution (ID mapping) 55 55 of foreign SIDs to local UNIX UIDs and GIDs. 56 56 </p><p> 57 <a class="indexterm" name="id2 597490"></a>57 <a class="indexterm" name="id2604421"></a> 58 58 The use of the IDMAP facility requires the execution of the <code class="literal">winbindd</code> upon Samba startup. 59 </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2 597506"></a>Samba Server Deployment Types and IDMAP</h2></div></div></div><p>60 <a class="indexterm" name="id2 597514"></a>59 </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2604437"></a>Samba Server Deployment Types and IDMAP</h2></div></div></div><p> 60 <a class="indexterm" name="id2604445"></a> 61 61 There are four basic server deployment types, as documented in <a class="link" href="ServerType.html" title="Chapter 3. Server Types and Security Modes">the chapter 62 62 on Server Types and Security Modes</a>. 63 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2 597531"></a>Standalone Samba Server</h3></div></div></div><p>64 <a class="indexterm" name="id2 597539"></a>65 <a class="indexterm" name="id2 597546"></a>66 <a class="indexterm" name="id2 597552"></a>63 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2604462"></a>Standalone Samba Server</h3></div></div></div><p> 64 <a class="indexterm" name="id2604470"></a> 65 <a class="indexterm" name="id2604476"></a> 66 <a class="indexterm" name="id2604483"></a> 67 67 A standalone Samba server is an implementation that is not a member of a Windows NT4 domain, 68 68 a Windows 200X Active Directory domain, or a Samba domain. 69 69 </p><p> 70 <a class="indexterm" name="id2 597565"></a>71 <a class="indexterm" name="id2 597572"></a>72 <a class="indexterm" name="id2 597579"></a>70 <a class="indexterm" name="id2604496"></a> 71 <a class="indexterm" name="id2604503"></a> 72 <a class="indexterm" name="id2604510"></a> 73 73 By definition, this means that users and groups will be created and controlled locally, and 74 74 the identity of a network user must match a local UNIX/Linux user login. The IDMAP facility 75 75 is therefore of little to no interest, winbind will not be necessary, and the IDMAP facility 76 76 will not be relevant or of interest. 77 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2 597593"></a>Domain Member Server or Domain Member Client</h3></div></div></div><p>78 <a class="indexterm" name="id2 597602"></a>79 <a class="indexterm" name="id2 597608"></a>80 <a class="indexterm" name="id2 597615"></a>81 <a class="indexterm" name="id2 597621"></a>82 <a class="indexterm" name="id2 597628"></a>77 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2604524"></a>Domain Member Server or Domain Member Client</h3></div></div></div><p> 78 <a class="indexterm" name="id2604532"></a> 79 <a class="indexterm" name="id2604539"></a> 80 <a class="indexterm" name="id2604546"></a> 81 <a class="indexterm" name="id2604552"></a> 82 <a class="indexterm" name="id2604559"></a> 83 83 Samba-3 can act as a Windows NT4 PDC or BDC, thereby providing domain control protocols that 84 84 are compatible with Windows NT4. Samba-3 file and print sharing protocols are compatible with … … 86 86 extensively makes use of Windows SIDs. 87 87 </p><p> 88 <a class="indexterm" name="id2 597643"></a>89 <a class="indexterm" name="id2 597650"></a>90 <a class="indexterm" name="id2 597657"></a>88 <a class="indexterm" name="id2604574"></a> 89 <a class="indexterm" name="id2604581"></a> 90 <a class="indexterm" name="id2604588"></a> 91 91 Samba-3 domain member servers and clients must interact correctly with MS Windows SIDs. Incoming 92 92 Windows SIDs must be translated to local UNIX UIDs and GIDs. Outgoing information from the Samba 93 93 server must provide to MS Windows clients and servers appropriate SIDs. 94 94 </p><p> 95 <a class="indexterm" name="id2 597671"></a>96 <a class="indexterm" name="id2 597678"></a>95 <a class="indexterm" name="id2604602"></a> 96 <a class="indexterm" name="id2604609"></a> 97 97 A Samba member of a Windows networking domain (NT4-style or ADS) can be configured to handle 98 98 identity mapping in a variety of ways. The mechanism it uses depends on whether or not … … 100 100 The configuration options are briefly described here: 101 101 </p><div class="variablelist"><dl><dt><span class="term">Winbind is not used; users and groups are local: </span></dt><dd><p> 102 <a class="indexterm" name="id2 597708"></a>103 <a class="indexterm" name="id2 597715"></a>104 <a class="indexterm" name="id2 597722"></a>105 <a class="indexterm" name="id2 597729"></a>106 <a class="indexterm" name="id2 597736"></a>107 <a class="indexterm" name="id2 597743"></a>108 <a class="indexterm" name="id2 597749"></a>109 <a class="indexterm" name="id2 597756"></a>110 <a class="indexterm" name="id2 597763"></a>111 <a class="indexterm" name="id2 597770"></a>112 <a class="indexterm" name="id2 597776"></a>102 <a class="indexterm" name="id2604640"></a> 103 <a class="indexterm" name="id2604646"></a> 104 <a class="indexterm" name="id2604653"></a> 105 <a class="indexterm" name="id2604660"></a> 106 <a class="indexterm" name="id2604667"></a> 107 <a class="indexterm" name="id2604674"></a> 108 <a class="indexterm" name="id2604681"></a> 109 <a class="indexterm" name="id2604687"></a> 110 <a class="indexterm" name="id2604694"></a> 111 <a class="indexterm" name="id2604701"></a> 112 <a class="indexterm" name="id2604708"></a> 113 113 Where <code class="literal">winbindd</code> is not used Samba (<code class="literal">smbd</code>) 114 114 uses the underlying UNIX/Linux mechanisms to resolve the identity of incoming … … 120 120 <code class="filename">/etc/passwd</code> and <code class="filename">/etc/group</code> respectively. 121 121 </p><p> 122 <a class="indexterm" name="id2 597819"></a>123 <a class="indexterm" name="id2 597826"></a>122 <a class="indexterm" name="id2604750"></a> 123 <a class="indexterm" name="id2604757"></a> 124 124 For example, when the user <code class="literal">BERYLIUM\WambatW</code> tries to open a 125 125 connection to a Samba server the incoming SessionSetupAndX request will make a … … 127 127 <code class="filename">/etc/passwd</code> file. 128 128 </p><p> 129 <a class="indexterm" name="id2 597857"></a>130 <a class="indexterm" name="id2 597864"></a>131 <a class="indexterm" name="id2 597871"></a>132 <a class="indexterm" name="id2 597877"></a>133 <a class="indexterm" name="id2 597884"></a>134 <a class="indexterm" name="id2 597890"></a>135 <a class="indexterm" name="id2 597897"></a>136 <a class="indexterm" name="id2 597904"></a>129 <a class="indexterm" name="id2604788"></a> 130 <a class="indexterm" name="id2604795"></a> 131 <a class="indexterm" name="id2604802"></a> 132 <a class="indexterm" name="id2604808"></a> 133 <a class="indexterm" name="id2604815"></a> 134 <a class="indexterm" name="id2604821"></a> 135 <a class="indexterm" name="id2604828"></a> 136 <a class="indexterm" name="id2604835"></a> 137 137 This configuration may be used with standalone Samba servers, domain member 138 138 servers (NT4 or ADS), and for a PDC that uses either an smbpasswd 139 139 or a tdbsam-based Samba passdb backend. 140 140 </p></dd><dt><span class="term">Winbind is not used; users and groups resolved via NSS: </span></dt><dd><p> 141 <a class="indexterm" name="id2 597927"></a>142 <a class="indexterm" name="id2 597934"></a>143 <a class="indexterm" name="id2 597941"></a>144 <a class="indexterm" name="id2 597948"></a>145 <a class="indexterm" name="id2 597955"></a>146 <a class="indexterm" name="id2 597961"></a>141 <a class="indexterm" name="id2604858"></a> 142 <a class="indexterm" name="id2604865"></a> 143 <a class="indexterm" name="id2604872"></a> 144 <a class="indexterm" name="id2604879"></a> 145 <a class="indexterm" name="id2604886"></a> 146 <a class="indexterm" name="id2604892"></a> 147 147 In this situation user and group accounts are treated as if they are local 148 148 accounts. The only way in which this differs from having local accounts is … … 150 150 this means that they will reside in either an NIS-type database or else in LDAP. 151 151 </p><p> 152 <a class="indexterm" name="id2 597977"></a>153 <a class="indexterm" name="id2 597984"></a>154 <a class="indexterm" name="id2 597991"></a>155 <a class="indexterm" name="id2 597997"></a>156 <a class="indexterm" name="id2 598004"></a>157 <a class="indexterm" name="id2 598010"></a>158 <a class="indexterm" name="id2 598017"></a>152 <a class="indexterm" name="id2604908"></a> 153 <a class="indexterm" name="id2604915"></a> 154 <a class="indexterm" name="id2604922"></a> 155 <a class="indexterm" name="id2604928"></a> 156 <a class="indexterm" name="id2604935"></a> 157 <a class="indexterm" name="id2604941"></a> 158 <a class="indexterm" name="id2604948"></a> 159 159 This configuration may be used with standalone Samba servers, domain member 160 160 servers (NT4 or ADS), and for a PDC that uses either an smbpasswd 161 161 or a tdbsam-based Samba passdb backend. 162 162 </p></dd><dt><span class="term">Winbind/NSS with the default local IDMAP table: </span></dt><dd><p> 163 <a class="indexterm" name="id2 598040"></a>164 <a class="indexterm" name="id2 598047"></a>165 <a class="indexterm" name="id2 598054"></a>166 <a class="indexterm" name="id2 598060"></a>163 <a class="indexterm" name="id2604971"></a> 164 <a class="indexterm" name="id2604978"></a> 165 <a class="indexterm" name="id2604985"></a> 166 <a class="indexterm" name="id2604992"></a> 167 167 There are many sites that require only a simple Samba server or a single Samba 168 168 server that is a member of a Windows NT4 domain or an ADS domain. A typical example … … 172 172 Active Directory. 173 173 </p><p> 174 <a class="indexterm" name="id2 598078"></a>175 <a class="indexterm" name="id2 598085"></a>176 <a class="indexterm" name="id2 598092"></a>177 <a class="indexterm" name="id2 598099"></a>178 <a class="indexterm" name="id2 598106"></a>174 <a class="indexterm" name="id2605009"></a> 175 <a class="indexterm" name="id2605016"></a> 176 <a class="indexterm" name="id2605023"></a> 177 <a class="indexterm" name="id2605030"></a> 178 <a class="indexterm" name="id2605037"></a> 179 179 Winbind is a great convenience in this situation. All that is needed is a range of 180 180 UID numbers and GID numbers that can be defined in the <code class="filename">smb.conf</code> file. The … … 183 183 The SIDs are allocated a UID/GID in the order in which winbind receives them. 184 184 </p><p> 185 <a class="indexterm" name="id2 598139"></a>186 <a class="indexterm" name="id2 598146"></a>187 <a class="indexterm" name="id2 598152"></a>188 <a class="indexterm" name="id2 598159"></a>185 <a class="indexterm" name="id2605070"></a> 186 <a class="indexterm" name="id2605077"></a> 187 <a class="indexterm" name="id2605084"></a> 188 <a class="indexterm" name="id2605090"></a> 189 189 This configuration is not convenient or practical in sites that have more than one 190 190 Samba server and that require the same UID or GID for the same user or group across … … 195 195 the rightful owners. 196 196 </p></dd><dt><span class="term">Winbind/NSS uses RID based IDMAP: </span></dt><dd><p> 197 <a class="indexterm" name="id2 598197"></a>198 <a class="indexterm" name="id2 598204"></a>199 <a class="indexterm" name="id2 598211"></a>200 <a class="indexterm" name="id2 598217"></a>197 <a class="indexterm" name="id2605129"></a> 198 <a class="indexterm" name="id2605135"></a> 199 <a class="indexterm" name="id2605142"></a> 200 <a class="indexterm" name="id2605148"></a> 201 201 The IDMAP_RID facility is new to Samba version 3.0.8. It was added to make life easier 202 202 for a number of sites that are committed to use of MS ADS, that do not apply … … 206 206 IDMAP table problem, then IDMAP_RID is an obvious choice. 207 207 </p><p> 208 <a class="indexterm" name="id2 598236"></a>209 <a class="indexterm" name="id2 598243"></a>210 <a class="indexterm" name="id2 598250"></a>211 <a class="indexterm" name="id2 598257"></a>212 <a class="indexterm" name="id2 598263"></a>213 <a class="indexterm" name="id2 598270"></a>214 <a class="indexterm" name="id2 598276"></a>215 <a class="indexterm" name="id2 598283"></a>208 <a class="indexterm" name="id2605167"></a> 209 <a class="indexterm" name="id2605174"></a> 210 <a class="indexterm" name="id2605181"></a> 211 <a class="indexterm" name="id2605188"></a> 212 <a class="indexterm" name="id2605194"></a> 213 <a class="indexterm" name="id2605201"></a> 214 <a class="indexterm" name="id2605207"></a> 215 <a class="indexterm" name="id2605214"></a> 216 216 This facility requires the allocation of the <em class="parameter"><code>idmap uid</code></em> and the 217 217 <em class="parameter"><code>idmap gid</code></em> ranges, and within the <em class="parameter"><code>idmap uid</code></em> … … 223 223 the resulting UID will be <code class="constant">1000 + 1234 = 2234</code>. 224 224 </p></dd><dt><span class="term">Winbind with an NSS/LDAP backend-based IDMAP facility: </span></dt><dd><p> 225 <a class="indexterm" name="id2 598351"></a>226 <a class="indexterm" name="id2 598358"></a>227 <a class="indexterm" name="id2 598365"></a>228 <a class="indexterm" name="id2 598372"></a>229 <a class="indexterm" name="id2 598378"></a>230 <a class="indexterm" name="id2 598385"></a>231 <a class="indexterm" name="id2 598392"></a>232 <a class="indexterm" name="id2 598398"></a>225 <a class="indexterm" name="id2605283"></a> 226 <a class="indexterm" name="id2605290"></a> 227 <a class="indexterm" name="id2605296"></a> 228 <a class="indexterm" name="id2605303"></a> 229 <a class="indexterm" name="id2605309"></a> 230 <a class="indexterm" name="id2605316"></a> 231 <a class="indexterm" name="id2605323"></a> 232 <a class="indexterm" name="id2605330"></a> 233 233 In this configuration <code class="literal">winbind</code> resolved SIDs to UIDs and GIDs from 234 234 the <em class="parameter"><code>idmap uid</code></em> and <em class="parameter"><code>idmap gid</code></em> ranges specified … … 237 237 a common IDMAP table. 238 238 </p><p> 239 <a class="indexterm" name="id2 598437"></a>240 <a class="indexterm" name="id2 598444"></a>241 <a class="indexterm" name="id2 598451"></a>239 <a class="indexterm" name="id2605368"></a> 240 <a class="indexterm" name="id2605375"></a> 241 <a class="indexterm" name="id2605382"></a> 242 242 It is important that all LDAP IDMAP clients use only the master LDAP server because the 243 243 <em class="parameter"><code>idmap backend</code></em> facility in the <code class="filename">smb.conf</code> file does not correctly … … 248 248 SIDs are consistent across all servers. 249 249 </p><p> 250 <a class="indexterm" name="id2 598492"></a>251 <a class="indexterm" name="id2 598499"></a>250 <a class="indexterm" name="id2605424"></a> 251 <a class="indexterm" name="id2605430"></a> 252 252 The use of the LDAP-based passdb backend requires use of the PADL nss_ldap utility or 253 253 an equivalent. In this situation winbind is used to handle foreign SIDs, that is, SIDs from … … 256 256 in precisely the same manner as when using winbind with a local IDMAP table. 257 257 </p><p> 258 <a class="indexterm" name="id2 598517"></a>259 <a class="indexterm" name="id2 598524"></a>260 <a class="indexterm" name="id2 598530"></a>258 <a class="indexterm" name="id2605448"></a> 259 <a class="indexterm" name="id2605455"></a> 260 <a class="indexterm" name="id2605462"></a> 261 261 The nss_ldap tool set can be used to access UIDs and GIDs via LDAP as well as via Active 262 262 Directory. In order to use Active Directory, it is necessary to modify the ADS schema by … … 267 267 Management tool. Each account must be separately UNIX-enabled before the UID and GID data can 268 268 be used by Samba. 269 </p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2 598554"></a>Primary Domain Controller</h3></div></div></div><p>270 <a class="indexterm" name="id2 598562"></a>271 <a class="indexterm" name="id2 598569"></a>272 <a class="indexterm" name="id2 598575"></a>273 <a class="indexterm" name="id2 598582"></a>269 </p></dd></dl></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2605485"></a>Primary Domain Controller</h3></div></div></div><p> 270 <a class="indexterm" name="id2605493"></a> 271 <a class="indexterm" name="id2605500"></a> 272 <a class="indexterm" name="id2605507"></a> 273 <a class="indexterm" name="id2605513"></a> 274 274 Microsoft Windows domain security systems generate the user and group SID as part 275 275 of the process of creation of an account. Windows does not have a concept of the UNIX UID or a GID; rather, … … 279 279 in the <code class="filename">smb.conf</code> file, plus twice (2x) the UID or GID. This method is called “<span class="quote">algorithmic mapping</span>”. 280 280 </p><p> 281 <a class="indexterm" name="id2 598611"></a>281 <a class="indexterm" name="id2605542"></a> 282 282 For example, if a user has a UID of 4321, and the algorithmic RID base has a value of 1000, the RID will 283 283 be <code class="literal">1000 + (2 x 4321) = 9642</code>. Thus, if the domain SID is … … 285 285 <code class="literal">S-1-5-21-89238497-92787123-12341112-9642</code>. 286 286 </p><p> 287 <a class="indexterm" name="id2 598643"></a>288 <a class="indexterm" name="id2 598650"></a>289 <a class="indexterm" name="id2 598656"></a>290 <a class="indexterm" name="id2 598663"></a>287 <a class="indexterm" name="id2605574"></a> 288 <a class="indexterm" name="id2605581"></a> 289 <a class="indexterm" name="id2605587"></a> 290 <a class="indexterm" name="id2605594"></a> 291 291 The foregoing type of SID is produced by Samba as an automatic function and is either produced on the fly 292 292 (as is the case when using a <em class="parameter"><code>passdb backend = [tdbsam | smbpasswd]</code></em>), or may be stored 293 293 as a permanent part of an account in an LDAP-based ldapsam. 294 294 </p><p> 295 <a class="indexterm" name="id2 598683"></a>296 <a class="indexterm" name="id2 598690"></a>297 <a class="indexterm" name="id2 598696"></a>298 <a class="indexterm" name="id2 598703"></a>299 <a class="indexterm" name="id2 598710"></a>300 <a class="indexterm" name="id2 598717"></a>301 <a class="indexterm" name="id2 598723"></a>302 <a class="indexterm" name="id2 598730"></a>303 <a class="indexterm" name="id2 598737"></a>295 <a class="indexterm" name="id2605614"></a> 296 <a class="indexterm" name="id2605621"></a> 297 <a class="indexterm" name="id2605628"></a> 298 <a class="indexterm" name="id2605635"></a> 299 <a class="indexterm" name="id2605642"></a> 300 <a class="indexterm" name="id2605648"></a> 301 <a class="indexterm" name="id2605655"></a> 302 <a class="indexterm" name="id2605661"></a> 303 <a class="indexterm" name="id2605668"></a> 304 304 ADS uses a directory schema that can be extended to accommodate additional 305 305 account attributes such as UIDs and GIDs. The installation of Microsoft Service for UNIX 3.5 will expand … … 307 307 through a snap-in module to the normal ADS account management MMC interface. 308 308 </p><p> 309 <a class="indexterm" name="id2 598753"></a>310 <a class="indexterm" name="id2 598760"></a>311 <a class="indexterm" name="id2 598767"></a>312 <a class="indexterm" name="id2 598773"></a>309 <a class="indexterm" name="id2605684"></a> 310 <a class="indexterm" name="id2605691"></a> 311 <a class="indexterm" name="id2605698"></a> 312 <a class="indexterm" name="id2605704"></a> 313 313 Security identifiers used within a domain must be managed to avoid conflict and to preserve itegrity. 314 314 In an NT4 domain context, the PDC manages the distribution of all security credentials to the backup 315 315 domain controllers (BDCs). At this time the only passdb backend for a Samba domain controller that is suitable 316 316 for such information is an LDAP backend. 317 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2 598788"></a>Backup Domain Controller</h3></div></div></div><p>318 <a class="indexterm" name="id2 598796"></a>319 <a class="indexterm" name="id2 598803"></a>320 <a class="indexterm" name="id2 598810"></a>321 <a class="indexterm" name="id2 598817"></a>322 <a class="indexterm" name="id2 598824"></a>323 <a class="indexterm" name="id2 598831"></a>324 <a class="indexterm" name="id2 598838"></a>317 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2605720"></a>Backup Domain Controller</h3></div></div></div><p> 318 <a class="indexterm" name="id2605728"></a> 319 <a class="indexterm" name="id2605734"></a> 320 <a class="indexterm" name="id2605741"></a> 321 <a class="indexterm" name="id2605748"></a> 322 <a class="indexterm" name="id2605755"></a> 323 <a class="indexterm" name="id2605762"></a> 324 <a class="indexterm" name="id2605769"></a> 325 325 BDCs have read-only access to security credentials that are stored in LDAP. 326 326 Changes in user or group account information are passed by the BDC to the PDC. Only the PDC can write … … 331 331 in the IDMAP backend. This means that it is is unsafe to use a slave (replicate) LDAP server with 332 332 the IDMAP facility. 333 </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2 598860"></a>Examples of IDMAP Backend Usage</h2></div></div></div><p>334 <a class="indexterm" name="id2 598868"></a>335 <a class="indexterm" name="id2 598877"></a>336 <a class="indexterm" name="id2 598886"></a>337 <a class="indexterm" name="id2 598893"></a>338 <a class="indexterm" name="id2 598899"></a>333 </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2605791"></a>Examples of IDMAP Backend Usage</h2></div></div></div><p> 334 <a class="indexterm" name="id2605799"></a> 335 <a class="indexterm" name="id2605808"></a> 336 <a class="indexterm" name="id2605818"></a> 337 <a class="indexterm" name="id2605824"></a> 338 <a class="indexterm" name="id2605831"></a> 339 339 Anyone who wishes to use <code class="literal">winbind</code> will find the following example configurations helpful. 340 340 Remember that in the majority of cases <code class="literal">winbind</code> is of primary interest for use with 341 341 domain member servers (DMSs) and domain member clients (DMCs). 342 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2 598923"></a>Default Winbind TDB</h3></div></div></div><p>342 </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2605854"></a>Default Winbind TDB</h3></div></div></div><p> 343 343 Two common configurations are used: 344 344 </p><div class="itemizedlist"><ul type="disc"><li><p> … … 346 346 </p></li><li><p> 347 347 Networks that use MS Windows 200x ADS. 348 </p></li></ul></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2 598947"></a>NT4-Style Domains (Includes Samba Domains)</h4></div></div></div><p>348 </p></li></ul></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2605879"></a>NT4-Style Domains (Includes Samba Domains)</h4></div></div></div><p> 349 349 <a class="link" href="idmapper.html#idmapnt4dms" title="Example 14.1. NT4 Domain Member Server smb.conf">NT4 Domain Member Server smb.con</a> is a simple example of an NT4 DMS 350 350 <code class="filename">smb.conf</code> file that shows only the global section. 351 </p><div class="example"><a name="idmapnt4dms"></a><p class="title"><b>Example 14.1. NT4 Domain Member Server smb.conf</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2 599000"></a><em class="parameter"><code>workgroup = MEGANET2</code></em></td></tr><tr><td><a class="indexterm" name="id2599012"></a><em class="parameter"><code>security = DOMAIN</code></em></td></tr><tr><td><a class="indexterm" name="id2599023"></a><em class="parameter"><code>idmap uid = 10000-20000</code></em></td></tr><tr><td><a class="indexterm" name="id2599035"></a><em class="parameter"><code>idmap gid = 10000-20000</code></em></td></tr><tr><td><a class="indexterm" name="id2599047"></a><em class="parameter"><code>template primary group = "Domain Users"</code></em></td></tr><tr><td><a class="indexterm" name="id2599059"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr></table></div></div><br class="example-break"><p>352 <a class="indexterm" name="id2 599074"></a>353 <a class="indexterm" name="id2 599081"></a>351 </p><div class="example"><a name="idmapnt4dms"></a><p class="title"><b>Example 14.1. NT4 Domain Member Server smb.conf</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2605931"></a><em class="parameter"><code>workgroup = MEGANET2</code></em></td></tr><tr><td><a class="indexterm" name="id2605943"></a><em class="parameter"><code>security = DOMAIN</code></em></td></tr><tr><td><a class="indexterm" name="id2605955"></a><em class="parameter"><code>idmap uid = 10000-20000</code></em></td></tr><tr><td><a class="indexterm" name="id2605966"></a><em class="parameter"><code>idmap gid = 10000-20000</code></em></td></tr><tr><td><a class="indexterm" name="id2605978"></a><em class="parameter"><code>template primary group = "Domain Users"</code></em></td></tr><tr><td><a class="indexterm" name="id2605990"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr></table></div></div><br class="example-break"><p> 352 <a class="indexterm" name="id2606006"></a> 353 <a class="indexterm" name="id2606012"></a> 354 354 The use of <code class="literal">winbind</code> requires configuration of NSS. Edit the <code class="filename">/etc/nsswitch.conf</code> 355 355 so it includes the following entries: … … 374 374 Joined domain MEGANET2. 375 375 </pre><p> 376 <a class="indexterm" name="id2 599150"></a>376 <a class="indexterm" name="id2606081"></a> 377 377 The success of the join can be confirmed with the following command: 378 378 </p><pre class="screen"> … … 381 381 </pre><p> 382 382 A failed join would report an error message like the following: 383 <a class="indexterm" name="id2 599171"></a>383 <a class="indexterm" name="id2606103"></a> 384 384 </p><pre class="screen"> 385 385 <code class="prompt">root# </code> net rpc testjoin … … 388 388 </pre><p> 389 389 </p></li><li><p> 390 <a class="indexterm" name="id2 599198"></a>391 <a class="indexterm" name="id2 599205"></a>392 <a class="indexterm" name="id2 599212"></a>390 <a class="indexterm" name="id2606130"></a> 391 <a class="indexterm" name="id2606136"></a> 392 <a class="indexterm" name="id2606143"></a> 393 393 Start the <code class="literal">nmbd, winbind,</code> and <code class="literal">smbd</code> daemons in the order shown. 394 </p></li></ol></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2 599235"></a>ADS Domains</h4></div></div></div><p>395 <a class="indexterm" name="id2 599242"></a>396 <a class="indexterm" name="id2 599249"></a>394 </p></li></ol></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2606166"></a>ADS Domains</h4></div></div></div><p> 395 <a class="indexterm" name="id2606174"></a> 396 <a class="indexterm" name="id2606181"></a> 397 397 The procedure for joining an ADS domain is similar to the NT4 domain join, except the <code class="filename">smb.conf</code> file 398 398 will have the contents shown in <a class="link" href="idmapper.html#idmapadsdms" title="Example 14.2. ADS Domain Member Server smb.conf">ADS Domain Member Server smb.conf</a> 399 </p><div class="example"><a name="idmapadsdms"></a><p class="title"><b>Example 14.2. ADS Domain Member Server smb.conf</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2 599300"></a><em class="parameter"><code>workgroup = BUTTERNET</code></em></td></tr><tr><td><a class="indexterm" name="id2599312"></a><em class="parameter"><code>netbios name = GARGOYLE</code></em></td></tr><tr><td><a class="indexterm" name="id2599324"></a><em class="parameter"><code>realm = BUTTERNET.BIZ</code></em></td></tr><tr><td><a class="indexterm" name="id2599336"></a><em class="parameter"><code>security = ADS</code></em></td></tr><tr><td><a class="indexterm" name="id2599347"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr><tr><td><a class="indexterm" name="id2599359"></a><em class="parameter"><code>idmap uid = 500-10000000</code></em></td></tr><tr><td><a class="indexterm" name="id2599371"></a><em class="parameter"><code>idmap gid = 500-10000000</code></em></td></tr><tr><td><a class="indexterm" name="id2599383"></a><em class="parameter"><code>winbind use default domain = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2599395"></a><em class="parameter"><code>winbind nested groups = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2599407"></a><em class="parameter"><code>printer admin = "BUTTERNET\Domain Admins"</code></em></td></tr></table></div></div><br class="example-break"><p>400 <a class="indexterm" name="id2 599422"></a>401 <a class="indexterm" name="id2 599429"></a>402 <a class="indexterm" name="id2 599436"></a>403 <a class="indexterm" name="id2 599443"></a>404 <a class="indexterm" name="id2 599449"></a>405 <a class="indexterm" name="id2 599456"></a>406 <a class="indexterm" name="id2 599463"></a>399 </p><div class="example"><a name="idmapadsdms"></a><p class="title"><b>Example 14.2. ADS Domain Member Server smb.conf</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2606232"></a><em class="parameter"><code>workgroup = BUTTERNET</code></em></td></tr><tr><td><a class="indexterm" name="id2606244"></a><em class="parameter"><code>netbios name = GARGOYLE</code></em></td></tr><tr><td><a class="indexterm" name="id2606256"></a><em class="parameter"><code>realm = BUTTERNET.BIZ</code></em></td></tr><tr><td><a class="indexterm" name="id2606268"></a><em class="parameter"><code>security = ADS</code></em></td></tr><tr><td><a class="indexterm" name="id2606279"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr><tr><td><a class="indexterm" name="id2606291"></a><em class="parameter"><code>idmap uid = 500-10000000</code></em></td></tr><tr><td><a class="indexterm" name="id2606303"></a><em class="parameter"><code>idmap gid = 500-10000000</code></em></td></tr><tr><td><a class="indexterm" name="id2606315"></a><em class="parameter"><code>winbind use default domain = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2606327"></a><em class="parameter"><code>winbind nested groups = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2606339"></a><em class="parameter"><code>printer admin = "BUTTERNET\Domain Admins"</code></em></td></tr></table></div></div><br class="example-break"><p> 400 <a class="indexterm" name="id2606354"></a> 401 <a class="indexterm" name="id2606361"></a> 402 <a class="indexterm" name="id2606368"></a> 403 <a class="indexterm" name="id2606375"></a> 404 <a class="indexterm" name="id2606381"></a> 405 <a class="indexterm" name="id2606388"></a> 406 <a class="indexterm" name="id2606395"></a> 407 407 ADS DMS operation requires use of kerberos (KRB). For this to work, the <code class="filename">krb5.conf</code> 408 408 must be configured. The exact requirements depends on which version of MIT or Heimdal Kerberos is being … … 417 417 </p></li><li><p> 418 418 Execute: 419 <a class="indexterm" name="id2 599521"></a>419 <a class="indexterm" name="id2606453"></a> 420 420 </p><pre class="screen"> 421 421 <code class="prompt">root# </code> net ads join -UAdministrator%password … … 437 437 Join to domain is not valid 438 438 </pre><p> 439 <a class="indexterm" name="id2 599578"></a>440 <a class="indexterm" name="id2 599585"></a>441 <a class="indexterm" name="id2 599592"></a>442 <a class="indexterm" name="id2 599598"></a>439 <a class="indexterm" name="id2606510"></a> 440 <a class="indexterm" name="id2606517"></a> 441 <a class="indexterm" name="id2606524"></a> 442 <a class="indexterm" name="id2606530"></a> 443 443 The specific error message may differ from the above because it depends on the type of failure that 444 444 may have occurred. Increase the <em class="parameter"><code>log level</code></em> to 10, repeat the test, … … 446 446 </p></li><li><p> 447 447 Start the <code class="literal">nmbd</code>, <code class="literal">winbind</code>, and <code class="literal">smbd</code> daemons in the order shown. 448 </p></li></ol></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2 599645"></a>IDMAP_RID with Winbind</h3></div></div></div><p>449 <a class="indexterm" name="id2 599653"></a>450 <a class="indexterm" name="id2 599659"></a>451 <a class="indexterm" name="id2 599666"></a>452 <a class="indexterm" name="id2 599672"></a>448 </p></li></ol></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2606577"></a>IDMAP_RID with Winbind</h3></div></div></div><p> 449 <a class="indexterm" name="id2606585"></a> 450 <a class="indexterm" name="id2606591"></a> 451 <a class="indexterm" name="id2606598"></a> 452 <a class="indexterm" name="id2606604"></a> 453 453 The <code class="literal">idmap_rid</code> facility is a new tool that, unlike native winbind, creates a 454 454 predictable mapping of MS Windows SIDs to UNIX UIDs and GIDs. The key benefit of this method … … 457 457 is not compatible with trusted domain implementations. 458 458 </p><p> 459 <a class="indexterm" name="id2 599695"></a>460 <a class="indexterm" name="id2 599702"></a>461 <a class="indexterm" name="id2 599709"></a>462 <a class="indexterm" name="id2 599716"></a>459 <a class="indexterm" name="id2606627"></a> 460 <a class="indexterm" name="id2606634"></a> 461 <a class="indexterm" name="id2606641"></a> 462 <a class="indexterm" name="id2606648"></a> 463 463 This alternate method of SID to UID/GID mapping can be achieved using the idmap_rid 464 464 plug-in. This plug-in uses the RID of the user SID to derive the UID and GID by adding the … … 468 468 <em class="parameter"><code>idmap gid</code></em> ranges must be specified. 469 469 </p><p> 470 <a class="indexterm" name="id2 599748"></a>471 <a class="indexterm" name="id2 599755"></a>470 <a class="indexterm" name="id2606680"></a> 471 <a class="indexterm" name="id2606687"></a> 472 472 The idmap_rid facility can be used both for NT4/Samba-style domains and Active Directory. 473 473 To use this with an NT4 domain, do not include the <em class="parameter"><code>realm</code></em> parameter; additionally, the … … 476 476 An example <code class="filename">smb.conf</code> file for and ADS domain environment is shown in <a class="link" href="idmapper.html#idmapadsridDMS" title="Example 14.3. ADS Domain Member smb.conf using idmap_rid">ADS 477 477 Domain Member smb.conf using idmap_rid</a>. 478 </p><div class="example"><a name="idmapadsridDMS"></a><p class="title"><b>Example 14.3. ADS Domain Member smb.conf using idmap_rid</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2 599822"></a><em class="parameter"><code>workgroup = KPAK</code></em></td></tr><tr><td><a class="indexterm" name="id2599834"></a><em class="parameter"><code>netbios name = BIGJOE</code></em></td></tr><tr><td><a class="indexterm" name="id2599846"></a><em class="parameter"><code>realm = CORP.KPAK.COM</code></em></td></tr><tr><td><a class="indexterm" name="id2599858"></a><em class="parameter"><code>server string = Office Server</code></em></td></tr><tr><td><a class="indexterm" name="id2599870"></a><em class="parameter"><code>security = ADS</code></em></td></tr><tr><td><a class="indexterm" name="id2599881"></a><em class="parameter"><code>allow trusted domains = No</code></em></td></tr><tr><td><a class="indexterm" name="id2599893"></a><em class="parameter"><code>idmap backend = idmap_rid:KPAK=500-100000000</code></em></td></tr><tr><td><a class="indexterm" name="id2599906"></a><em class="parameter"><code>idmap uid = 500-100000000</code></em></td></tr><tr><td><a class="indexterm" name="id2599917"></a><em class="parameter"><code>idmap gid = 500-100000000</code></em></td></tr><tr><td><a class="indexterm" name="id2599929"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr><tr><td><a class="indexterm" name="id2599941"></a><em class="parameter"><code>winbind use default domain = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2599953"></a><em class="parameter"><code>winbind enum users = No</code></em></td></tr><tr><td><a class="indexterm" name="id2599965"></a><em class="parameter"><code>winbind enum groups = No</code></em></td></tr><tr><td><a class="indexterm" name="id2599977"></a><em class="parameter"><code>winbind nested groups = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2599989"></a><em class="parameter"><code>printer admin = "Domain Admins"</code></em></td></tr></table></div></div><br class="example-break"><p>479 <a class="indexterm" name="id260 0004"></a>480 <a class="indexterm" name="id260 0011"></a>481 <a class="indexterm" name="id260 0018"></a>482 <a class="indexterm" name="id260 0025"></a>478 </p><div class="example"><a name="idmapadsridDMS"></a><p class="title"><b>Example 14.3. ADS Domain Member smb.conf using idmap_rid</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2606754"></a><em class="parameter"><code>workgroup = KPAK</code></em></td></tr><tr><td><a class="indexterm" name="id2606766"></a><em class="parameter"><code>netbios name = BIGJOE</code></em></td></tr><tr><td><a class="indexterm" name="id2606778"></a><em class="parameter"><code>realm = CORP.KPAK.COM</code></em></td></tr><tr><td><a class="indexterm" name="id2606790"></a><em class="parameter"><code>server string = Office Server</code></em></td></tr><tr><td><a class="indexterm" name="id2606802"></a><em class="parameter"><code>security = ADS</code></em></td></tr><tr><td><a class="indexterm" name="id2606813"></a><em class="parameter"><code>allow trusted domains = No</code></em></td></tr><tr><td><a class="indexterm" name="id2606825"></a><em class="parameter"><code>idmap backend = idmap_rid:KPAK=500-100000000</code></em></td></tr><tr><td><a class="indexterm" name="id2606838"></a><em class="parameter"><code>idmap uid = 500-100000000</code></em></td></tr><tr><td><a class="indexterm" name="id2606849"></a><em class="parameter"><code>idmap gid = 500-100000000</code></em></td></tr><tr><td><a class="indexterm" name="id2606861"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr><tr><td><a class="indexterm" name="id2606873"></a><em class="parameter"><code>winbind use default domain = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2606885"></a><em class="parameter"><code>winbind enum users = No</code></em></td></tr><tr><td><a class="indexterm" name="id2606897"></a><em class="parameter"><code>winbind enum groups = No</code></em></td></tr><tr><td><a class="indexterm" name="id2606909"></a><em class="parameter"><code>winbind nested groups = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2606921"></a><em class="parameter"><code>printer admin = "Domain Admins"</code></em></td></tr></table></div></div><br class="example-break"><p> 479 <a class="indexterm" name="id2606936"></a> 480 <a class="indexterm" name="id2606943"></a> 481 <a class="indexterm" name="id2606950"></a> 482 <a class="indexterm" name="id2606957"></a> 483 483 In a large domain with many users it is imperative to disable enumeration of users and groups. 484 484 For example, at a site that has 22,000 users in Active Directory the winbind-based user and … … 489 489 commands. It will be possible to perform the lookup for individual users, as shown in the following procedure. 490 490 </p><p> 491 <a class="indexterm" name="id260 0062"></a>492 <a class="indexterm" name="id260 0069"></a>491 <a class="indexterm" name="id2606994"></a> 492 <a class="indexterm" name="id2607001"></a> 493 493 The use of this tool requires configuration of NSS as per the native use of winbind. Edit the 494 494 <code class="filename">/etc/nsswitch.conf</code> so it has the following parameters: … … 516 516 </pre><p> 517 517 </p><p> 518 <a class="indexterm" name="id260 0148"></a>518 <a class="indexterm" name="id2607080"></a> 519 519 An invalid or failed join can be detected by executing: 520 520 </p><pre class="screen"> … … 532 532 </p></li><li><p> 533 533 Validate the operation of this configuration by executing: 534 <a class="indexterm" name="id260 0213"></a>534 <a class="indexterm" name="id2607145"></a> 535 535 </p><pre class="screen"> 536 536 <code class="prompt">root# </code> getent passwd administrator 537 537 administrator:x:1000:1013:Administrator:/home/BE/administrator:/bin/bash 538 538 </pre><p> 539 </p></li></ol></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id260 0235"></a>IDMAP Storage in LDAP Using Winbind</h3></div></div></div><p>540 <a class="indexterm" name="id260 0243"></a>541 <a class="indexterm" name="id260 0250"></a>539 </p></li></ol></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2607167"></a>IDMAP Storage in LDAP Using Winbind</h3></div></div></div><p> 540 <a class="indexterm" name="id2607175"></a> 541 <a class="indexterm" name="id2607182"></a> 542 542 The storage of IDMAP information in LDAP can be used with both NT4/Samba-3-style domains and 543 543 ADS domains. OpenLDAP is a commonly used LDAP server for this purpose, although any … … 548 548 An example is for an ADS domain is shown in <a class="link" href="idmapper.html#idmapldapDMS" title="Example 14.4. ADS Domain Member Server using LDAP">ADS Domain Member Server using 549 549 LDAP</a>. 550 </p><div class="example"><a name="idmapldapDMS"></a><p class="title"><b>Example 14.4. ADS Domain Member Server using LDAP</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id260 0304"></a><em class="parameter"><code>workgroup = SNOWSHOW</code></em></td></tr><tr><td><a class="indexterm" name="id2600315"></a><em class="parameter"><code>netbios name = GOODELF</code></em></td></tr><tr><td><a class="indexterm" name="id2600327"></a><em class="parameter"><code>realm = SNOWSHOW.COM</code></em></td></tr><tr><td><a class="indexterm" name="id2600339"></a><em class="parameter"><code>server string = Samba Server</code></em></td></tr><tr><td><a class="indexterm" name="id2600351"></a><em class="parameter"><code>security = ADS</code></em></td></tr><tr><td><a class="indexterm" name="id2600363"></a><em class="parameter"><code>log level = 1 ads:10 auth:10 sam:10 rpc:10</code></em></td></tr><tr><td><a class="indexterm" name="id2600375"></a><em class="parameter"><code>ldap admin dn = cn=Manager,dc=SNOWSHOW,dc=COM</code></em></td></tr><tr><td><a class="indexterm" name="id2600387"></a><em class="parameter"><code>ldap idmap suffix = ou=Idmap</code></em></td></tr><tr><td><a class="indexterm" name="id2600399"></a><em class="parameter"><code>ldap suffix = dc=SNOWSHOW,dc=COM</code></em></td></tr><tr><td><a class="indexterm" name="id2600411"></a><em class="parameter"><code>idmap backend = ldap:ldap://ldap.snowshow.com</code></em></td></tr><tr><td><a class="indexterm" name="id2600423"></a><em class="parameter"><code>idmap uid = 150000-550000</code></em></td></tr><tr><td><a class="indexterm" name="id2600435"></a><em class="parameter"><code>idmap gid = 150000-550000</code></em></td></tr><tr><td><a class="indexterm" name="id2600446"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr><tr><td><a class="indexterm" name="id2600458"></a><em class="parameter"><code>winbind use default domain = Yes</code></em></td></tr></table></div></div><br class="example-break"><p>551 <a class="indexterm" name="id260 0474"></a>550 </p><div class="example"><a name="idmapldapDMS"></a><p class="title"><b>Example 14.4. ADS Domain Member Server using LDAP</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2607236"></a><em class="parameter"><code>workgroup = SNOWSHOW</code></em></td></tr><tr><td><a class="indexterm" name="id2607247"></a><em class="parameter"><code>netbios name = GOODELF</code></em></td></tr><tr><td><a class="indexterm" name="id2607259"></a><em class="parameter"><code>realm = SNOWSHOW.COM</code></em></td></tr><tr><td><a class="indexterm" name="id2607271"></a><em class="parameter"><code>server string = Samba Server</code></em></td></tr><tr><td><a class="indexterm" name="id2607283"></a><em class="parameter"><code>security = ADS</code></em></td></tr><tr><td><a class="indexterm" name="id2607295"></a><em class="parameter"><code>log level = 1 ads:10 auth:10 sam:10 rpc:10</code></em></td></tr><tr><td><a class="indexterm" name="id2607307"></a><em class="parameter"><code>ldap admin dn = cn=Manager,dc=SNOWSHOW,dc=COM</code></em></td></tr><tr><td><a class="indexterm" name="id2607319"></a><em class="parameter"><code>ldap idmap suffix = ou=Idmap</code></em></td></tr><tr><td><a class="indexterm" name="id2607331"></a><em class="parameter"><code>ldap suffix = dc=SNOWSHOW,dc=COM</code></em></td></tr><tr><td><a class="indexterm" name="id2607343"></a><em class="parameter"><code>idmap backend = ldap:ldap://ldap.snowshow.com</code></em></td></tr><tr><td><a class="indexterm" name="id2607355"></a><em class="parameter"><code>idmap uid = 150000-550000</code></em></td></tr><tr><td><a class="indexterm" name="id2607367"></a><em class="parameter"><code>idmap gid = 150000-550000</code></em></td></tr><tr><td><a class="indexterm" name="id2607378"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr><tr><td><a class="indexterm" name="id2607390"></a><em class="parameter"><code>winbind use default domain = Yes</code></em></td></tr></table></div></div><br class="example-break"><p> 551 <a class="indexterm" name="id2607406"></a> 552 552 In the case of an NT4 or Samba-3-style domain the <em class="parameter"><code>realm</code></em> is not used, and the 553 553 command used to join the domain is <code class="literal">net rpc join</code>. The above example also demonstrates 554 554 advanced error-reporting techniques that are documented in <a class="link" href="bugreport.html#dbglvl" title="Debug Levels">Reporting Bugs</a>. 555 555 </p><p> 556 <a class="indexterm" name="id260 0508"></a>557 <a class="indexterm" name="id260 0514"></a>558 <a class="indexterm" name="id260 0521"></a>556 <a class="indexterm" name="id2607440"></a> 557 <a class="indexterm" name="id2607446"></a> 558 <a class="indexterm" name="id2607453"></a> 559 559 Where MIT kerberos is installed (version 1.3.4 or later), edit the <code class="filename">/etc/krb5.conf</code> 560 560 file so it has the following contents: … … 611 611 </pre><p> 612 612 </p><p> 613 <a class="indexterm" name="id260 0605"></a>614 <a class="indexterm" name="id260 0612"></a>613 <a class="indexterm" name="id2607537"></a> 614 <a class="indexterm" name="id2607544"></a> 615 615 You will need the <a class="ulink" href="http://www.padl.com" target="_top">PADL</a> <code class="literal">nss_ldap</code> 616 616 tool set for this solution. Configure the <code class="filename">/etc/ldap.conf</code> file so it has … … 675 675 Start the <code class="literal">nmbd</code>, <code class="literal">winbind</code>, and <code class="literal">smbd</code> daemons in the order shown. 676 676 </p></li></ol></div><p> 677 <a class="indexterm" name="id260 0807"></a>677 <a class="indexterm" name="id2607739"></a> 678 678 Follow the diagnositic procedures shown earlier in this chapter to identify success or failure of the join. 679 679 In many cases a failure is indicated by a silent return to the command prompt with no indication of the 680 680 reason for failure. 681 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id260 0820"></a>IDMAP and NSS Using LDAP from ADS with RFC2307bis Schema Extension</h3></div></div></div><p>682 <a class="indexterm" name="id260 0829"></a>683 <a class="indexterm" name="id260 0836"></a>681 </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2607752"></a>IDMAP and NSS Using LDAP from ADS with RFC2307bis Schema Extension</h3></div></div></div><p> 682 <a class="indexterm" name="id2607761"></a> 683 <a class="indexterm" name="id2607768"></a> 684 684 The use of this method is messy. The information provided in the following is for guidance only 685 685 and is very definitely not complete. This method does work; it is used in a number of large sites … … 688 688 An example <code class="filename">smb.conf</code> file is shown in <a class="link" href="idmapper.html#idmaprfc2307" title="Example 14.5. ADS Domain Member Server using RFC2307bis Schema Extension Date via NSS">ADS Domain Member Server using 689 689 RFC2307bis Schema Extension Date via NSS</a>. 690 </p><div class="example"><a name="idmaprfc2307"></a><p class="title"><b>Example 14.5. ADS Domain Member Server using RFC2307bis Schema Extension Date via NSS</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id260 0895"></a><em class="parameter"><code>workgroup = BOBBY</code></em></td></tr><tr><td><a class="indexterm" name="id2600907"></a><em class="parameter"><code>realm = BOBBY.COM</code></em></td></tr><tr><td><a class="indexterm" name="id2600919"></a><em class="parameter"><code>security = ADS</code></em></td></tr><tr><td><a class="indexterm" name="id2600930"></a><em class="parameter"><code>idmap uid = 150000-550000</code></em></td></tr><tr><td><a class="indexterm" name="id2600942"></a><em class="parameter"><code>idmap gid = 150000-550000</code></em></td></tr><tr><td><a class="indexterm" name="id2600954"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr><tr><td><a class="indexterm" name="id2600966"></a><em class="parameter"><code>winbind cache time = 5</code></em></td></tr><tr><td><a class="indexterm" name="id2600977"></a><em class="parameter"><code>winbind use default domain = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2600990"></a><em class="parameter"><code>winbind trusted domains only = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2601002"></a><em class="parameter"><code>winbind nested groups = Yes</code></em></td></tr></table></div></div><br class="example-break"><p>691 <a class="indexterm" name="id260 1017"></a>690 </p><div class="example"><a name="idmaprfc2307"></a><p class="title"><b>Example 14.5. ADS Domain Member Server using RFC2307bis Schema Extension Date via NSS</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2607827"></a><em class="parameter"><code>workgroup = BOBBY</code></em></td></tr><tr><td><a class="indexterm" name="id2607839"></a><em class="parameter"><code>realm = BOBBY.COM</code></em></td></tr><tr><td><a class="indexterm" name="id2607851"></a><em class="parameter"><code>security = ADS</code></em></td></tr><tr><td><a class="indexterm" name="id2607862"></a><em class="parameter"><code>idmap uid = 150000-550000</code></em></td></tr><tr><td><a class="indexterm" name="id2607874"></a><em class="parameter"><code>idmap gid = 150000-550000</code></em></td></tr><tr><td><a class="indexterm" name="id2607886"></a><em class="parameter"><code>template shell = /bin/bash</code></em></td></tr><tr><td><a class="indexterm" name="id2607898"></a><em class="parameter"><code>winbind cache time = 5</code></em></td></tr><tr><td><a class="indexterm" name="id2607909"></a><em class="parameter"><code>winbind use default domain = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2607922"></a><em class="parameter"><code>winbind trusted domains only = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2607934"></a><em class="parameter"><code>winbind nested groups = Yes</code></em></td></tr></table></div></div><br class="example-break"><p> 691 <a class="indexterm" name="id2607949"></a> 692 692 The DMS must be joined to the domain using the usual procedure. Additionally, it is necessary 693 693 to build and install the PADL nss_ldap tool set. Be sure to build this tool set with the … … 698 698 </pre><p> 699 699 </p><p> 700 <a class="indexterm" name="id260 1037"></a>700 <a class="indexterm" name="id2607969"></a> 701 701 The following <code class="filename">/etc/nsswitch.conf</code> file contents are required: 702 702 </p><pre class="screen"> … … 710 710 </pre><p> 711 711 </p><p> 712 <a class="indexterm" name="id260 1062"></a>713 <a class="indexterm" name="id260 1069"></a>712 <a class="indexterm" name="id2607994"></a> 713 <a class="indexterm" name="id2608001"></a> 714 714 The <code class="filename">/etc/ldap.conf</code> file must be configured also. Refer to the PADL documentation 715 715 and source code for nss_ldap to specific instructions. … … 717 717 The next step involves preparation of the ADS schema. This is briefly discussed in the remaining 718 718 part of this chapter. 719 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id260 1090"></a>IDMAP, Active Directory, and MS Services for UNIX 3.5</h4></div></div></div><p>720 <a class="indexterm" name="id260 1099"></a>719 </p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2608022"></a>IDMAP, Active Directory, and MS Services for UNIX 3.5</h4></div></div></div><p> 720 <a class="indexterm" name="id2608031"></a> 721 721 The Microsoft Windows Service for UNIX (SFU) version 3.5 is available for free 722 722 <a class="ulink" href="http://www.microsoft.com/windows/sfu/" target="_top">download</a> 723 723 from the Microsoft Web site. You will need to download this tool and install it following 724 724 Microsoft instructions. 725 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id260 1117"></a>IDMAP, Active Directory and AD4UNIX</h4></div></div></div><p>725 </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2608050"></a>IDMAP, Active Directory and AD4UNIX</h4></div></div></div><p> 726 726 Instructions for obtaining and installing the AD4UNIX tool set can be found from the 727 727 <a class="ulink" href="http://www.geekcomix.com/cgi-bin/classnotes/wiki.pl?LDAP01/An_Alternative_Approach" target="_top"> 728 728 Geekcomix</a> Web site. 729 </p></div></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><code class="literal"><sup>[<a name="ftn.id2 597415" href="#id2597415" class="literal">4</a>] </sup>DOMINICUS\FJones</code><code class="literal">FRANCISCUS\FJones</code><code class="literal">FJones</code></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="NetCommand.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="optional.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="rights.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 13. Remote and Local Management: The Net Command </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 15. User Rights and Privileges</td></tr></table></div></body></html>729 </p></div></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><code class="literal"><sup>[<a name="ftn.id2604346" href="#id2604346" class="literal">4</a>] </sup>DOMINICUS\FJones</code><code class="literal">FRANCISCUS\FJones</code><code class="literal">FJones</code></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="NetCommand.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="optional.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="rights.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 13. Remote and Local Management: The Net Command </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 15. User Rights and Privileges</td></tr></table></div></body></html>
Note:
See TracChangeset
for help on using the changeset viewer.