| 1 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 6. A Distributed 2000-User Network</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="Samba-3 by Example"><link rel="up" href="ExNetworks.html" title="Part I. Example Network Configurations"><link rel="prev" href="happy.html" title="Chapter 5. Making Happy Users"><link rel="next" href="DMSMig.html" title="Part II. Domain Members, Updating Samba and Migration"></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 6. A Distributed 2000-User Network</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="happy.html">Prev</a> </td><th width="60%" align="center">Part I. Example Network Configurations</th><td width="20%" align="right"> <a accesskey="n" href="DMSMig.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="net2000users"></a>Chapter 6. A Distributed 2000-User Network</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="net2000users.html#id2583726">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="net2000users.html#id2583756">Assignment Tasks</a></span></dt></dl></dd><dt><span class="sect1"><a href="net2000users.html#id2583824">Dissection and Discussion</a></span></dt><dd><dl><dt><span class="sect2"><a href="net2000users.html#id2584098">Technical Issues</a></span></dt><dt><span class="sect2"><a href="net2000users.html#id2585046">Political Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="net2000users.html#id2585064">Implementation</a></span></dt><dd><dl><dt><span class="sect2"><a href="net2000users.html#id2588223">Key Points Learned</a></span></dt></dl></dd><dt><span class="sect1"><a href="net2000users.html#id2588370">Questions and Answers</a></span></dt></dl></div><p>
|
|---|
| 2 | There is something indeed mystical about things that are
|
|---|
| 3 | big. Large networks exhibit a certain magnetism and exude a sense of
|
|---|
| 4 | importance that obscures reality. You and I know that it is no more
|
|---|
| 5 | difficult to secure a large network than it is a small one. We all
|
|---|
| 6 | know that over and above a particular number of network clients, the
|
|---|
| 7 | rules no longer change; the only real dynamic is the size of the domain
|
|---|
| 8 | (much like a kingdom) over which the network ruler (oops, administrator)
|
|---|
| 9 | has control. The real dynamic then transforms from the technical to the
|
|---|
| 10 | political. Then again, that point is often reached well before the
|
|---|
| 11 | kingdom (or queendom) grows large.
|
|---|
| 12 | </p><p>
|
|---|
| 13 | If you have systematically worked your way to this chapter, hopefully you
|
|---|
| 14 | have found some gems and techniques that are applicable in your
|
|---|
| 15 | world. The network designs you have worked with in this book have their
|
|---|
| 16 | strong points as well as weak ones. That is to be expected given that
|
|---|
| 17 | they are based on real business environments, the specifics of which are
|
|---|
| 18 | molded to serve the purposes of this book.
|
|---|
| 19 | </p><p>
|
|---|
| 20 | This chapter is intent on wrapping up issues that are central to
|
|---|
| 21 | implementation and design of progressively larger networks. Are you ready
|
|---|
| 22 | for this chapter? Good, it is time to move on.
|
|---|
| 23 | </p><p>
|
|---|
| 24 | In previous chapters, you made the assumption that your network
|
|---|
| 25 | administration staff need detailed instruction right down to the
|
|---|
| 26 | nuts and bolts of implementing the solution. That is still the case,
|
|---|
| 27 | but they have graduated now. You decide to document only those issues,
|
|---|
| 28 | methods, and techniques that are new or complex. Routine tasks such as
|
|---|
| 29 | implementing a DNS or a DHCP server are under control. Even the basics of
|
|---|
| 30 | Samba are largely under control. So in this section you focus on the
|
|---|
| 31 | specifics of implementing LDAP changes, Samba changes, and approach and
|
|---|
| 32 | design of the solution and its deployment.
|
|---|
| 33 | </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2583726"></a>Introduction</h2></div></div></div><p>
|
|---|
| 34 | Abmas is a miracle company. Most businesses would have collapsed under
|
|---|
| 35 | the weight of rapid expansion that this company has experienced. Samba
|
|---|
| 36 | is flexible, so there is no need to reinstall the whole operating
|
|---|
| 37 | system just because you need to implement a new network design. In fact,
|
|---|
| 38 | you can keep an old server running right up to the moment of cutover
|
|---|
| 39 | and then do a near-live conversion. There is no need to reinstall a
|
|---|
| 40 | Samba server just to change the way your network should function.
|
|---|
| 41 | </p><p>
|
|---|
| 42 | <a class="indexterm" name="id2583745"></a>
|
|---|
| 43 | Network growth is common to all organizations. In this exercise,
|
|---|
| 44 | your preoccupation is with the mechanics of implementing Samba and
|
|---|
| 45 | LDAP so that network users on each network segment can work
|
|---|
| 46 | without impediment.
|
|---|
| 47 | </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2583756"></a>Assignment Tasks</h3></div></div></div><p>
|
|---|
| 48 | Starting with the configuration files for the server called
|
|---|
| 49 | <code class="constant">MASSIVE</code> in <a class="link" href="happy.html" title="Chapter 5. Making Happy Users">“Making Happy Users”</a>, you now deal with the
|
|---|
| 50 | issues that are particular to large distributed networks. Your task
|
|---|
| 51 | is simple identify the challenges, consider the
|
|---|
| 52 | alternatives, and then design and implement a solution.
|
|---|
| 53 | </p><p>
|
|---|
| 54 | <a class="indexterm" name="id2583784"></a>
|
|---|
| 55 | Remember, you have users based in London (UK), Los Angeles,
|
|---|
| 56 | Washington. DC, and, three buildings in New York. A significant portion
|
|---|
| 57 | of your workforce have notebook computers and roam all over the
|
|---|
| 58 | world. Some dial into the office, others use VPN connections over the
|
|---|
| 59 | Internet, and others just move between buildings.i
|
|---|
| 60 | </p><p>
|
|---|
| 61 | What do you say to an employee who normally uses a desktop
|
|---|
| 62 | system but must spend six weeks on the road with a notebook computer?
|
|---|
| 63 | She is concerned about email access and how to keep coworkers current
|
|---|
| 64 | with changing documents.
|
|---|
| 65 | </p><p>
|
|---|
| 66 | To top it all off, you have one network support person and one
|
|---|
| 67 | help desk person based in London, a single person dedicated to all
|
|---|
| 68 | network operations in Los Angeles, five staff for user administration
|
|---|
| 69 | and help desk in New York, plus one <span class="emphasis"><em>floater</em></span> for
|
|---|
| 70 | Washington.
|
|---|
| 71 | </p><p>
|
|---|
| 72 | You have outsourced all desktop deployment and management to
|
|---|
| 73 | DirectPointe. Your concern is server maintenance and third-level
|
|---|
| 74 | support. Build a plan and show what must be done.
|
|---|
| 75 | </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2583824"></a>Dissection and Discussion</h2></div></div></div><p>
|
|---|
| 76 | <a class="indexterm" name="id2583832"></a>
|
|---|
| 77 | <a class="indexterm" name="id2583839"></a>
|
|---|
| 78 | In <a class="link" href="happy.html" title="Chapter 5. Making Happy Users">“Making Happy Users”</a>, you implemented an LDAP server that provided the
|
|---|
| 79 | <em class="parameter"><code>passdb backend</code></em> for the Samba servers. You
|
|---|
| 80 | explored ways to accelerate Windows desktop profile handling and you
|
|---|
| 81 | took control of network performance.
|
|---|
| 82 | </p><p>
|
|---|
| 83 | <a class="indexterm" name="id2583864"></a>
|
|---|
| 84 | <a class="indexterm" name="id2583871"></a>
|
|---|
| 85 | <a class="indexterm" name="id2583878"></a>
|
|---|
| 86 | <a class="indexterm" name="id2583884"></a>
|
|---|
| 87 | The implementation of an LDAP-based passdb backend (known as
|
|---|
| 88 | <span class="emphasis"><em>ldapsam</em></span> in Samba parlance), or some form of database
|
|---|
| 89 | that can be distributed, is essential to permit the deployment of Samba
|
|---|
| 90 | Primary and Backup Domain Controllers (PDC/BDCs). You see, the problem
|
|---|
| 91 | is that the <span class="emphasis"><em>tdbsam</em></span>-style passdb backend does not
|
|---|
| 92 | lend itself to being replicated. The older plain-text-based
|
|---|
| 93 | <span class="emphasis"><em>smbpasswd</em></span>-style passdb backend can be replicated
|
|---|
| 94 | using a tool such as <code class="literal">rsync</code>, but
|
|---|
| 95 | <span class="emphasis"><em>smbpasswd</em></span> suffers the drawback that it does not
|
|---|
| 96 | support the range of account facilities demanded by modern network
|
|---|
| 97 | managers.
|
|---|
| 98 | </p><p>
|
|---|
| 99 | <a class="indexterm" name="id2583924"></a>
|
|---|
| 100 | <a class="indexterm" name="id2583931"></a>
|
|---|
| 101 | The new <span class="emphasis"><em>tdbsam</em></span> facility supports functionality
|
|---|
| 102 | that is similar to an <span class="emphasis"><em>ldapsam</em></span>, but the lack of
|
|---|
| 103 | distributed infrastructure sorely limits the scope for its
|
|---|
| 104 | deployment. This raises the following questions: Why can't I just use
|
|---|
| 105 | an XML-based backend, or for that matter, why not use an SQL-based
|
|---|
| 106 | backend? Is support for these tools broken? Answers to these
|
|---|
| 107 | questions require a bit of background.</p><p>
|
|---|
| 108 | <a class="indexterm" name="id2583954"></a>
|
|---|
| 109 | <a class="indexterm" name="id2583961"></a>
|
|---|
| 110 | <a class="indexterm" name="id2583968"></a>
|
|---|
| 111 | <a class="indexterm" name="id2583975"></a>
|
|---|
| 112 | <span class="emphasis"><em>What is a directory?</em></span> A directory is a
|
|---|
| 113 | collection of information regarding objects that can be accessed to
|
|---|
| 114 | rapidly find information that is relevant in a particular and
|
|---|
| 115 | consistent manner. A directory differs from a database in that it is
|
|---|
| 116 | generally more often searched (read) than updated. As a consequence, the
|
|---|
| 117 | information is organized to facilitate read access rather than to
|
|---|
| 118 | support transaction processing.</p><p>
|
|---|
| 119 | <a class="indexterm" name="id2583995"></a>
|
|---|
| 120 | <a class="indexterm" name="id2584005"></a>
|
|---|
| 121 | <a class="indexterm" name="id2584012"></a>
|
|---|
| 122 | <a class="indexterm" name="id2584019"></a>
|
|---|
| 123 | The Lightweight Directory Access Protocol (LDAP) differs
|
|---|
| 124 | considerably from a traditional database. It has a simple search
|
|---|
| 125 | facility that uniquely makes a highly preferred mechanism for managing
|
|---|
| 126 | user identities. LDAP provides a scalable mechanism for distributing
|
|---|
| 127 | the data repository and for keeping all copies (slaves) in sync with
|
|---|
| 128 | the master repository.</p><p>
|
|---|
| 129 | <a class="indexterm" name="id2584035"></a>
|
|---|
| 130 | <a class="indexterm" name="id2584042"></a>
|
|---|
| 131 | <a class="indexterm" name="id2584049"></a>
|
|---|
| 132 | Samba is a flexible and powerful file and print sharing
|
|---|
| 133 | technology. It can use many external authentication sources and can be
|
|---|
| 134 | part of a total authentication and identity management
|
|---|
| 135 | infrastructure. The two most important external sources for large sites
|
|---|
| 136 | are Microsoft Active Directory and LDAP. Sites that specifically wish to
|
|---|
| 137 | avoid the proprietary implications of Microsoft Active Directory
|
|---|
| 138 | naturally gravitate toward OpenLDAP.</p><p>
|
|---|
| 139 | <a class="indexterm" name="id2584066"></a>
|
|---|
| 140 | In <a class="link" href="happy.html" title="Chapter 5. Making Happy Users">“Making Happy Users”</a>, you had to deal with a locally routed
|
|---|
| 141 | network. All deployment concerns focused around making users happy,
|
|---|
| 142 | and that simply means taking control over all network practices and
|
|---|
| 143 | usage so that no one user is disadvantaged by any other. The real
|
|---|
| 144 | lesson is one of understanding that no matter how much network
|
|---|
| 145 | bandwidth you provide, bandwidth remains a precious resource.</p><p>In this chapter, you must now consider how the overall network must
|
|---|
| 146 | function. In particular, you must be concerned with users who move
|
|---|
| 147 | between offices. You must take into account the way users need to
|
|---|
| 148 | access information globally. And you must make the network robust
|
|---|
| 149 | enough so that it can sustain partial breakdown without causing loss of
|
|---|
| 150 | productivity.</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2584098"></a>Technical Issues</h3></div></div></div><p>
|
|---|
| 151 | There are at least three areas that need to be addressed as you
|
|---|
| 152 | approach the challenge of designing a network solution for the newly
|
|---|
| 153 | expanded business:
|
|---|
| 154 | </p><div class="itemizedlist"><ul type="disc"><li><p><a class="indexterm" name="id2584114"></a>
|
|---|
| 155 | User needs such as mobility and data access</p></li><li><p>The nature of Windows networking protocols</p></li><li><p>Identity management infrastructure needs</p></li></ul></div><p>Let's look at each in turn.</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2584137"></a>User Needs</h4></div></div></div><p>
|
|---|
| 156 | The new company has three divisions. Staff for each division are spread across
|
|---|
| 157 | the company. Some staff are office-bound and some are mobile users. Mobile
|
|---|
| 158 | users travel globally. Some spend considerable periods working in other offices.
|
|---|
| 159 | Everyone wants to be able to work without constraint of productivity.
|
|---|
| 160 | </p><p>
|
|---|
| 161 | The challenge is not insignificant. In some parts of the world, even dial-up
|
|---|
| 162 | connectivity is poor, while in other regions political encumbrances severely
|
|---|
| 163 | curtail user needs. Parts of the global Internet infrastructure remain shielded
|
|---|
| 164 | off for reasons outside the scope of this discussion.
|
|---|
| 165 | </p><p>
|
|---|
| 166 | <a class="indexterm" name="id2584162"></a>
|
|---|
| 167 | Decisions must be made regarding where data is to be stored, how it will be
|
|---|
| 168 | replicated (if at all), and what the network bandwidth implications are. For
|
|---|
| 169 | example, one decision that can be made is to give each office its own master
|
|---|
| 170 | file storage area that can be synchronized to a central repository in New
|
|---|
| 171 | York. This would permit global data to be backed up from a single location.
|
|---|
| 172 | The synchronization tool could be <code class="literal">rsync,</code> run via a cron
|
|---|
| 173 | job. Mobile users may use off-line file storage under Windows XP Professional.
|
|---|
| 174 | This way, they can synchronize all files that have changed since each logon
|
|---|
| 175 | to the network.
|
|---|
| 176 | </p><p>
|
|---|
| 177 | <a class="indexterm" name="id2584188"></a>
|
|---|
| 178 | <a class="indexterm" name="id2584198"></a>
|
|---|
| 179 | No matter which way you look at this, the bandwidth requirements
|
|---|
| 180 | for acceptable performance are substantial even if only 10 percent of
|
|---|
| 181 | staff are global data users. A company with 3,500 employees,
|
|---|
| 182 | 280 of whom are mobile users who use a similarly distributed
|
|---|
| 183 | network, found they needed at least 2 Mb/sec connectivity
|
|---|
| 184 | between the UK and US offices. Even over 2 Mb/sec bandwidth, this
|
|---|
| 185 | company abandoned any attempt to run roaming profile usage for
|
|---|
| 186 | mobile users. At that time, the average roaming profile took 480
|
|---|
| 187 | KB, while today the minimum Windows XP Professional roaming
|
|---|
| 188 | profile involves a transfer of over 750 KB from the profile
|
|---|
| 189 | server to and from the client.
|
|---|
| 190 | </p><p>
|
|---|
| 191 | <a class="indexterm" name="id2584219"></a>
|
|---|
| 192 | Obviously then, user needs and wide-area practicalities dictate the economic and
|
|---|
| 193 | technical aspects of your network design as well as for standard operating procedures.
|
|---|
| 194 | </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2584231"></a>The Nature of Windows Networking Protocols</h4></div></div></div><p>
|
|---|
| 195 | <a class="indexterm" name="id2584239"></a>
|
|---|
| 196 | Network logons that include roaming profile handling requires from 140 KB to 2 MB.
|
|---|
| 197 | The inclusion of support for a minimal set of common desktop applications can push
|
|---|
| 198 | the size of a complete profile to over 15 MB. This has substantial implications
|
|---|
| 199 | for location of user profiles. Additionally, it is a significant factor in
|
|---|
| 200 | determining the nature and style of mandatory profiles that may be enforced as
|
|---|
| 201 | part of a total service-level assurance program that might be implemented.
|
|---|
| 202 | </p><p>
|
|---|
| 203 | <a class="indexterm" name="id2584260"></a>
|
|---|
| 204 | <a class="indexterm" name="id2584267"></a>
|
|---|
| 205 | One way to reduce the network bandwidth impact of user logon
|
|---|
| 206 | traffic is through folder redirection. In <a class="link" href="happy.html" title="Chapter 5. Making Happy Users">“Making Happy Users”</a>, you
|
|---|
| 207 | implemented this in the new Windows XP Professional standard
|
|---|
| 208 | desktop configuration. When desktop folders such as <span class="guimenu">My
|
|---|
| 209 | Documents</span> are redirected to a network drive, they should
|
|---|
| 210 | also be excluded from synchronization to and from the server on
|
|---|
| 211 | logon or logout. Redirected folders are analogous to network drive
|
|---|
| 212 | connections.
|
|---|
| 213 | </p><p><a class="indexterm" name="id2584294"></a>
|
|---|
| 214 | Of course, network applications should only be run off
|
|---|
| 215 | local application servers. As a general rule, even with 2 Mb/sec
|
|---|
| 216 | network bandwidth, it would not make sense at all for someone who
|
|---|
| 217 | is working out of the London office to run applications off a
|
|---|
| 218 | server that is located in New York.
|
|---|
| 219 | </p><p>
|
|---|
| 220 | <a class="indexterm" name="id2584310"></a>
|
|---|
| 221 | When network bandwidth becomes a precious commodity (that is most
|
|---|
| 222 | of the time), there is a significant demand to understand network
|
|---|
| 223 | processes and to mold the limits of acceptability around the
|
|---|
| 224 | constraints of affordability.
|
|---|
| 225 | </p><p>
|
|---|
| 226 | When a Windows NT4/200x/XP Professional client user logs onto
|
|---|
| 227 | the network, several important things must happen.
|
|---|
| 228 | </p><div class="itemizedlist"><ul type="disc"><li><p>
|
|---|
| 229 | <a class="indexterm" name="id2584332"></a>
|
|---|
| 230 | The client obtains an IP address via DHCP. (DHCP is
|
|---|
| 231 | necessary so that users can roam between offices.)
|
|---|
| 232 | </p></li><li><p>
|
|---|
| 233 | <a class="indexterm" name="id2584345"></a>
|
|---|
| 234 | <a class="indexterm" name="id2584352"></a>
|
|---|
| 235 | The client must register itself with the WINS and/or DNS server.
|
|---|
| 236 | </p></li><li><p>
|
|---|
| 237 | <a class="indexterm" name="id2584364"></a>
|
|---|
| 238 | The client must locate the closest domain controller.
|
|---|
| 239 | </p></li><li><p>
|
|---|
| 240 | The client must log onto a domain controller and obtain as part of
|
|---|
| 241 | that process the location of the user's profile, load it, connect to
|
|---|
| 242 | redirected folders, and establish all network drive and printer connections.
|
|---|
| 243 | </p></li><li><p>
|
|---|
| 244 | The domain controller must be able to resolve the user's
|
|---|
| 245 | credentials before the logon process is fully implemented.
|
|---|
| 246 | </p></li></ul></div><p>
|
|---|
| 247 | Given that this book is about Samba and that it implements the Windows
|
|---|
| 248 | NT4-style domain semantics, it makes little sense to compare Samba with
|
|---|
| 249 | Microsoft Active Directory insofar as the logon protocols and principles
|
|---|
| 250 | of operation are concerned. The following information pertains exclusively
|
|---|
| 251 | to the interaction between a Windows XP Professional workstation and a
|
|---|
| 252 | Samba-3.0.20 server. In the discussion that follows, use is made of DHCP and WINS.
|
|---|
| 253 | </p><p>
|
|---|
| 254 | As soon as the Windows workstation starts up, it obtains an
|
|---|
| 255 | IP address. This is immediately followed by registration of its
|
|---|
| 256 | name both by broadcast and Unicast registration that is directed
|
|---|
| 257 | at the WINS server.
|
|---|
| 258 | </p><p>
|
|---|
| 259 | <a class="indexterm" name="id2584411"></a>
|
|---|
| 260 | <a class="indexterm" name="id2584418"></a><a class="indexterm" name="id2584427"></a>
|
|---|
| 261 | Given that the client is already a domain member, it then sends
|
|---|
| 262 | a directed (Unicast) request to the WINS server seeking the list of
|
|---|
| 263 | IP addresses for domain controllers (NetBIOS name type 0x1C). The
|
|---|
| 264 | WINS server replies with the information requested.</p><p>
|
|---|
| 265 | <a class="indexterm" name="id2584442"></a>
|
|---|
| 266 | <a class="indexterm" name="id2584451"></a>
|
|---|
| 267 | <a class="indexterm" name="id2584458"></a>
|
|---|
| 268 | The client sends two netlogon mailslot broadcast requests
|
|---|
| 269 | to the local network and to each of the IP addresses returned by
|
|---|
| 270 | the WINS server. Whichever answers this request first appears to
|
|---|
| 271 | be the machine that the Windows XP client attempts to use to
|
|---|
| 272 | process the network logon. The mailslot messages use UDP broadcast
|
|---|
| 273 | to the local network and UDP Unicast directed at each machine that
|
|---|
| 274 | was listed in the WINS server response to a request for the list of
|
|---|
| 275 | domain controllers.
|
|---|
| 276 | </p><p>
|
|---|
| 277 | <a class="indexterm" name="id2584476"></a>
|
|---|
| 278 | <a class="indexterm" name="id2584485"></a>
|
|---|
| 279 | <a class="indexterm" name="id2584492"></a>
|
|---|
| 280 | The logon process begins with negotiation of the SMB/CIFS
|
|---|
| 281 | protocols that are to be used; this is followed by an exchange of
|
|---|
| 282 | information that ultimately includes the client sending the
|
|---|
| 283 | credentials with which the user is attempting to logon. The logon
|
|---|
| 284 | server must now approve the further establishment of the
|
|---|
| 285 | connection, but that is a good point to halt for now. The priority
|
|---|
| 286 | here must center around identification of network infrastructure
|
|---|
| 287 | needs. A secondary fact we need to know is, what happens when
|
|---|
| 288 | local domain controllers fail or break?
|
|---|
| 289 | </p><p>
|
|---|
| 290 | <a class="indexterm" name="id2584511"></a>
|
|---|
| 291 | <a class="indexterm" name="id2584518"></a>
|
|---|
| 292 | <a class="indexterm" name="id2584525"></a>
|
|---|
| 293 | <a class="indexterm" name="id2584531"></a>
|
|---|
| 294 | Under most circumstances, the nearest domain controller
|
|---|
| 295 | responds to the netlogon mailslot broadcast. The exception to this
|
|---|
| 296 | norm occurs when the nearest domain controller is too busy or is out
|
|---|
| 297 | of service. Herein lies an important fact. This means it is
|
|---|
| 298 | important that every network segment should have at least two
|
|---|
| 299 | domain controllers. Since there can be only one PDC, all additional
|
|---|
| 300 | domain controllers are by definition BDCs.
|
|---|
| 301 | </p><p>
|
|---|
| 302 | <a class="indexterm" name="id2584549"></a>
|
|---|
| 303 | <a class="indexterm" name="id2584556"></a>
|
|---|
| 304 | The provision of sufficient servers that are BDCs is an
|
|---|
| 305 | important design factor. The second important design factor
|
|---|
| 306 | involves how each of the BDCs obtains user authentication
|
|---|
| 307 | data. That is the subject of the next section, which involves key
|
|---|
| 308 | decisions regarding Identity Management facilities.
|
|---|
| 309 | </p></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2584570"></a>Identity Management Needs</h4></div></div></div><p>
|
|---|
| 310 | <a class="indexterm" name="id2584578"></a>
|
|---|
| 311 | <a class="indexterm" name="id2584584"></a>
|
|---|
| 312 | <a class="indexterm" name="id2584591"></a>
|
|---|
| 313 | <a class="indexterm" name="id2584598"></a>
|
|---|
| 314 | Network managers recognize that in large organizations users
|
|---|
| 315 | generally need to be given resource access based on needs, while
|
|---|
| 316 | being excluded from other resources for reasons of privacy. It is
|
|---|
| 317 | therefore essential that all users identify themselves at the
|
|---|
| 318 | point of network access. The network logon is the principal means
|
|---|
| 319 | by which user credentials are validated and filtered and appropriate
|
|---|
| 320 | rights and privileges are allocated.
|
|---|
| 321 | </p><p>
|
|---|
| 322 | <a class="indexterm" name="id2584616"></a>
|
|---|
| 323 | <a class="indexterm" name="id2584622"></a>
|
|---|
| 324 | <a class="indexterm" name="id2584629"></a>
|
|---|
| 325 | Unfortunately, network resources tend to have their own Identity
|
|---|
| 326 | Management facilities, the quality and manageability of which varies
|
|---|
| 327 | from quite poor to exceptionally good. Corporations that use a mixture
|
|---|
| 328 | of systems soon discover that until recently, few systems were
|
|---|
| 329 | designed to interoperate. For example, UNIX systems each have an
|
|---|
| 330 | independent user database. Sun Microsystems developed a facility that
|
|---|
| 331 | was originally called <code class="constant">Yellow Pages</code>, and was renamed
|
|---|
| 332 | when a telephone company objected to the use of its trademark.
|
|---|
| 333 | What was once called <code class="constant">Yellow Pages</code> is today known
|
|---|
| 334 | as <code class="constant">Network Information System</code> (NIS).
|
|---|
| 335 | </p><p>
|
|---|
| 336 | <a class="indexterm" name="id2584660"></a>
|
|---|
| 337 | NIS gained a strong following throughout the UNIX/VMS space in a short
|
|---|
| 338 | period of time and retained that appeal and use for over a decade.
|
|---|
| 339 | Security concerns and inherent limitations have caused it to enter its
|
|---|
| 340 | twilight. NIS did not gain widespread appeal outside of the UNIX world
|
|---|
| 341 | and was not universally adopted. Sun updated this to a more secure
|
|---|
| 342 | implementation called NIS+, but even it has fallen victim to changing
|
|---|
| 343 | demands as the demand for directory services that can be coupled with
|
|---|
| 344 | other information systems is catching on.
|
|---|
| 345 | </p><p>
|
|---|
| 346 | <a class="indexterm" name="id2584679"></a>
|
|---|
| 347 | <a class="indexterm" name="id2584686"></a>
|
|---|
| 348 | <a class="indexterm" name="id2584693"></a>
|
|---|
| 349 | Nevertheless, both NIS and NIS+ continue to hold ground in
|
|---|
| 350 | business areas where UNIX still has major sway. Examples of
|
|---|
| 351 | organizations that remain firmly attached to the use of NIS and
|
|---|
| 352 | NIS+ include large government departments, education institutions,
|
|---|
| 353 | and large corporations that have a scientific or engineering
|
|---|
| 354 | focus.
|
|---|
| 355 | </p><p>
|
|---|
| 356 | <a class="indexterm" name="id2584708"></a>
|
|---|
| 357 | <a class="indexterm" name="id2584715"></a>
|
|---|
| 358 | Today's networking world needs a scalable, distributed Identity
|
|---|
| 359 | Management infrastructure, commonly called a directory. The most
|
|---|
| 360 | popular technologies today are Microsoft Active Directory service
|
|---|
| 361 | and a number of LDAP implementations.
|
|---|
| 362 | </p><p>
|
|---|
| 363 | <a class="indexterm" name="id2584729"></a>
|
|---|
| 364 | The problem of managing multiple directories has become a focal
|
|---|
| 365 | point over the past decade, creating a large market for
|
|---|
| 366 | metadirectory products and services that allow organizations that
|
|---|
| 367 | have multiple directories and multiple management and control
|
|---|
| 368 | centers to provision information from one directory into
|
|---|
| 369 | another. The attendant benefit to end users is the promise of
|
|---|
| 370 | having to remember and deal with fewer login identities and
|
|---|
| 371 | passwords.</p><p>
|
|---|
| 372 | <a class="indexterm" name="id2584747"></a>
|
|---|
| 373 | The challenge of every large network is to find the optimum
|
|---|
| 374 | balance of internal systems and facilities for Identity
|
|---|
| 375 | Management resources. How well the solution is chosen and
|
|---|
| 376 | implemented has potentially significant impact on network bandwidth
|
|---|
| 377 | and systems response needs.</p><p>
|
|---|
| 378 | <a class="indexterm" name="id2584764"></a>
|
|---|
| 379 | <a class="indexterm" name="id2584771"></a>
|
|---|
| 380 | <a class="indexterm" name="id2584780"></a>
|
|---|
| 381 | In <a class="link" href="happy.html" title="Chapter 5. Making Happy Users">“Making Happy Users”</a>, you implemented a single LDAP server for the
|
|---|
| 382 | entire network. This may work for smaller networks, but almost
|
|---|
| 383 | certainly fails to meet the needs of large and complex networks. The
|
|---|
| 384 | following section documents how you may implement a single
|
|---|
| 385 | master LDAP server with multiple slave servers.</p><p>
|
|---|
| 386 | What is the best method for implementing master/slave LDAP
|
|---|
| 387 | servers within the context of a distributed 2,000-user network is a
|
|---|
| 388 | question that remains to be answered.</p><p>
|
|---|
| 389 | <a class="indexterm" name="id2584809"></a>
|
|---|
| 390 | <a class="indexterm" name="id2584816"></a>
|
|---|
| 391 | One possibility that has great appeal is to create a single,
|
|---|
| 392 | large distributed domain. The practical implications of this
|
|---|
| 393 | design (see <a class="link" href="net2000users.html#chap7net" title="Figure 6.6. Network Topology 2000 User Complex Design A">“Network Topology 2000 User Complex Design A”</a>) demands the placement of
|
|---|
| 394 | sufficient BDCs in each location. Additionally, network
|
|---|
| 395 | administrators must make sure that profiles are not transferred
|
|---|
| 396 | over the wide-area links, except as a totally unavoidable
|
|---|
| 397 | measure. Network design must balance the risk of loss of user
|
|---|
| 398 | productivity against the cost of network management and
|
|---|
| 399 | maintenance.
|
|---|
| 400 | </p><p>
|
|---|
| 401 | <a class="indexterm" name="id2584847"></a>
|
|---|
| 402 | The network design in <a class="link" href="net2000users.html#chap7net2" title="Figure 6.7. Network Topology 2000 User Complex Design B">“Network Topology 2000 User Complex Design B”</a> takes the approach
|
|---|
| 403 | that management of networks that are too remote to be managed
|
|---|
| 404 | effectively from New York ought to be given a certain degree of
|
|---|
| 405 | autonomy. With this rationale, the Los Angeles and London networks,
|
|---|
| 406 | though fully integrated with those on the East Coast, each have their
|
|---|
| 407 | own domain name space and can be independently managed and controlled.
|
|---|
| 408 | One of the key drawbacks of this design is that it flies in the face of
|
|---|
| 409 | the ability for network users to roam globally without some compromise
|
|---|
| 410 | in how they may access global resources.
|
|---|
| 411 | </p><p>
|
|---|
| 412 | <a class="indexterm" name="id2584873"></a>
|
|---|
| 413 | Desk-bound users need not be negatively affected by this design, since
|
|---|
| 414 | the use of interdomain trusts can be used to satisfy the need for global
|
|---|
| 415 | data sharing.
|
|---|
| 416 | </p><p>
|
|---|
| 417 | <a class="indexterm" name="id2584886"></a>
|
|---|
| 418 | <a class="indexterm" name="id2584892"></a>
|
|---|
| 419 | <a class="indexterm" name="id2584902"></a>
|
|---|
| 420 | When Samba-3 is configured to use an LDAP backend, it stores the domain
|
|---|
| 421 | account information in a directory entry. This account entry contains the
|
|---|
| 422 | domain SID. An unintended but exploitable side effect is that this makes it
|
|---|
| 423 | possible to operate with more than one PDC on a distributed network.
|
|---|
| 424 | </p><p>
|
|---|
| 425 | <a class="indexterm" name="id2584916"></a>
|
|---|
| 426 | <a class="indexterm" name="id2584923"></a>
|
|---|
| 427 | <a class="indexterm" name="id2584930"></a>
|
|---|
| 428 | How might this peculiar feature be exploited? The answer is simple. It is
|
|---|
| 429 | imperative that each network segment have its own WINS server. Major
|
|---|
| 430 | servers on remote network segments can be given a static WINS entry in
|
|---|
| 431 | the <code class="filename">wins.dat</code> file on each WINS server. This allows
|
|---|
| 432 | all essential data to be visible from all locations. Each location would,
|
|---|
| 433 | however, function as if it is an independent domain, while all sharing the
|
|---|
| 434 | same domain SID. Since all domain account information can be stored in a
|
|---|
| 435 | single LDAP backend, users have unfettered ability to roam.
|
|---|
| 436 | </p><p>
|
|---|
| 437 | <a class="indexterm" name="id2584955"></a>
|
|---|
| 438 | <a class="indexterm" name="id2584964"></a>
|
|---|
| 439 | This concept has not been exhaustively validated, though we can see no reason
|
|---|
| 440 | why this should not work. The important facets are the following: The name of
|
|---|
| 441 | the domain must be identical in all locations. Each network segment must have
|
|---|
| 442 | its own WINS server. The name of the PDC must be the same in all locations; this
|
|---|
| 443 | necessitates the use of NetBIOS name aliases for each PDC so that they can be
|
|---|
| 444 | accessed globally using the alias and not the PDC's primary name. A single master
|
|---|
| 445 | LDAP server can be based in New York, with multiple LDAP slave servers located
|
|---|
| 446 | on every network segment. Finally, the BDCs should each use failover LDAP servers
|
|---|
| 447 | that are in fact slave LDAP servers on the local segments.
|
|---|
| 448 | </p><p>
|
|---|
| 449 | <a class="indexterm" name="id2584986"></a>
|
|---|
| 450 | <a class="indexterm" name="id2584995"></a>
|
|---|
| 451 | <a class="indexterm" name="id2585002"></a>
|
|---|
| 452 | <a class="indexterm" name="id2585011"></a>
|
|---|
| 453 | With a single master LDAP server, all network updates are effected on a single
|
|---|
| 454 | server. In the event that this should become excessively fragile or network
|
|---|
| 455 | bandwidth limiting, one could implement a delegated LDAP domain. This is also
|
|---|
| 456 | known as a partitioned (or multiple partition) LDAP database and as a distributed
|
|---|
| 457 | LDAP directory.
|
|---|
| 458 | </p><p>
|
|---|
| 459 | As the LDAP directory grows, it becomes increasingly important
|
|---|
| 460 | that its structure is implemented in a manner that mirrors
|
|---|
| 461 | organizational needs, so as to limit network update and
|
|---|
| 462 | referential traffic. It should be noted that all directory
|
|---|
| 463 | administrators must of necessity follow the same standard
|
|---|
| 464 | procedures for managing the directory, because retroactive correction of
|
|---|
| 465 | inconsistent directory information can be exceedingly difficult.
|
|---|
| 466 | </p></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2585046"></a>Political Issues</h3></div></div></div><p>
|
|---|
| 467 | As organizations grow, the number of points of control increases
|
|---|
| 468 | also. In a large distributed organization, it is important that the
|
|---|
| 469 | Identity Management system be capable of being updated from
|
|---|
| 470 | many locations, and it is equally important that changes made should
|
|---|
| 471 | become usable in a reasonable period, typically
|
|---|
| 472 | minutes rather than days (the old limitation of highly manual
|
|---|
| 473 | systems).
|
|---|
| 474 | </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2585064"></a>Implementation</h2></div></div></div><p>
|
|---|
| 475 | <a class="indexterm" name="id2585071"></a>
|
|---|
| 476 | <a class="indexterm" name="id2585078"></a>
|
|---|
| 477 | <a class="indexterm" name="id2585085"></a>
|
|---|
| 478 | <a class="indexterm" name="id2585092"></a>
|
|---|
| 479 | Samba-3 has the ability to use multiple password (authentication and
|
|---|
| 480 | identity resolution) backends. The diagram in <a class="link" href="net2000users.html#chap7idres" title="Figure 6.1. Samba and Authentication Backend Search Pathways">“Samba and Authentication Backend Search Pathways”</a>
|
|---|
| 481 | demonstrates how Samba uses winbind, LDAP, and NIS, the traditional system
|
|---|
| 482 | password database. The diagram only documents the mechanisms for
|
|---|
| 483 | authentication and identity resolution (obtaining a UNIX UID/GID)
|
|---|
| 484 | using the specific systems shown.
|
|---|
| 485 | </p><div class="figure"><a name="chap7idres"></a><p class="title"><b>Figure 6.1. Samba and Authentication Backend Search Pathways</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/chap7-idresol.png" width="297" alt="Samba and Authentication Backend Search Pathways"></div></div></div><br class="figure-break"><p>
|
|---|
| 486 | <a class="indexterm" name="id2585156"></a>
|
|---|
| 487 | <a class="indexterm" name="id2585163"></a>
|
|---|
| 488 | <a class="indexterm" name="id2585170"></a>
|
|---|
| 489 | <a class="indexterm" name="id2585177"></a>
|
|---|
| 490 | <a class="indexterm" name="id2585183"></a>
|
|---|
| 491 | <a class="indexterm" name="id2585190"></a>
|
|---|
| 492 | <a class="indexterm" name="id2585197"></a>
|
|---|
| 493 | Samba is capable of using the <code class="constant">smbpasswd</code>,
|
|---|
| 494 | <code class="constant">tdbsam</code>, <code class="constant">xmlsam</code>,
|
|---|
| 495 | and <code class="constant">mysqlsam</code> authentication databases. The SMB
|
|---|
| 496 | passwords can, of course, also be stored in an LDAP ldapsam
|
|---|
| 497 | backend. LDAP is the preferred passdb backend for distributed network
|
|---|
| 498 | operations.
|
|---|
| 499 | </p><p>
|
|---|
| 500 | <a class="indexterm" name="id2585225"></a>
|
|---|
| 501 | Additionally, it is possible to use multiple passdb backends
|
|---|
| 502 | concurrently as well as have multiple LDAP backends. As a result, you
|
|---|
| 503 | can specify a failover LDAP backend. The syntax for specifying a
|
|---|
| 504 | single LDAP backend in <code class="filename">smb.conf</code> is:
|
|---|
| 505 | </p><pre class="screen">
|
|---|
| 506 | ...
|
|---|
| 507 | passdb backend = ldapsam:ldap://master.abmas.biz
|
|---|
| 508 | ...
|
|---|
| 509 | </pre><p>
|
|---|
| 510 | This configuration tells Samba to use a single LDAP server, as shown in <a class="link" href="net2000users.html#ch7singleLDAP" title="Figure 6.2. Samba Configuration to Use a Single LDAP Server">“Samba Configuration to Use a Single LDAP Server”</a>.
|
|---|
| 511 | </p><div class="figure"><a name="ch7singleLDAP"></a><p class="title"><b>Figure 6.2. Samba Configuration to Use a Single LDAP Server</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/ch7-singleLDAP.png" width="351" alt="Samba Configuration to Use a Single LDAP Server"></div></div></div><p><br class="figure-break">
|
|---|
| 512 | <a class="indexterm" name="id2585298"></a>
|
|---|
| 513 | <a class="indexterm" name="id2585308"></a>
|
|---|
| 514 | The addition of a failover LDAP server can simply be done by adding a
|
|---|
| 515 | second entry for the failover server to the single <em class="parameter"><code>ldapsam</code></em>
|
|---|
| 516 | entry, as shown here (note the particular use of the double quotes):
|
|---|
| 517 | </p><pre class="screen">
|
|---|
| 518 | ...
|
|---|
| 519 | passdb backend = ldapsam:"ldap://master.abmas.biz \
|
|---|
| 520 | ldap://slave.abmas.biz"
|
|---|
| 521 | ...
|
|---|
| 522 | </pre><p>
|
|---|
| 523 | This configuration tells Samba to use a master LDAP server, with failover to a slave server if necessary,
|
|---|
| 524 | as shown in <a class="link" href="net2000users.html#ch7dualLDAP" title="Figure 6.3. Samba Configuration to Use a Dual (Fail-over) LDAP Server">“Samba Configuration to Use a Dual (Fail-over) LDAP Server”</a>.
|
|---|
| 525 | </p><div class="figure"><a name="ch7dualLDAP"></a><p class="title"><b>Figure 6.3. Samba Configuration to Use a Dual (Fail-over) LDAP Server</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/ch7-fail-overLDAP.png" width="351" alt="Samba Configuration to Use a Dual (Fail-over) LDAP Server"></div></div></div><p><br class="figure-break">
|
|---|
| 526 | </p><p>
|
|---|
| 527 | Some folks have tried to implement this without the use of double quotes. This is the type of entry they
|
|---|
| 528 | created:
|
|---|
| 529 | </p><pre class="screen">
|
|---|
| 530 | ...
|
|---|
| 531 | passdb backend = ldapsam:ldap://master.abmas.biz \
|
|---|
| 532 | ldapsam:ldap://slave.abmas.biz
|
|---|
| 533 | ...
|
|---|
| 534 | </pre><p>
|
|---|
| 535 | <a class="indexterm" name="id2585394"></a>
|
|---|
| 536 | The effect of this style of entry is that Samba lists the users
|
|---|
| 537 | that are in both LDAP databases. If both contain the same information,
|
|---|
| 538 | it results in each record being shown twice. This is, of course, not the
|
|---|
| 539 | solution desired for a failover implementation. The net effect of this
|
|---|
| 540 | configuration is shown in <a class="link" href="net2000users.html#ch7dualadd" title="Figure 6.4. Samba Configuration to Use Dual LDAP Databases - Broken - Do Not Use!">“Samba Configuration to Use Dual LDAP Databases - Broken - Do Not Use!”</a>
|
|---|
| 541 | </p><div class="figure"><a name="ch7dualadd"></a><p class="title"><b>Figure 6.4. Samba Configuration to Use Dual LDAP Databases - Broken - Do Not Use!</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/ch7-dual-additive-LDAP.png" width="297" alt="Samba Configuration to Use Dual LDAP Databases - Broken - Do Not Use!"></div></div></div><br class="figure-break"><p>
|
|---|
| 542 | If, however, each LDAP database contains unique information, this may
|
|---|
| 543 | well be an advantageous way to effectively integrate multiple LDAP databases
|
|---|
| 544 | into one seemingly contiguous directory. Only the first database will be updated.
|
|---|
| 545 | An example of this configuration is shown in <a class="link" href="net2000users.html#ch7dualok" title="Figure 6.5. Samba Configuration to Use Two LDAP Databases - The result is additive.">“Samba Configuration to Use Two LDAP Databases - The result is additive.”</a>.
|
|---|
| 546 | </p><div class="figure"><a name="ch7dualok"></a><p class="title"><b>Figure 6.5. Samba Configuration to Use Two LDAP Databases - The result is additive.</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/ch7-dual-additive-LDAP-Ok.png" width="297" alt="Samba Configuration to Use Two LDAP Databases - The result is additive."></div></div></div><br class="figure-break"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
|
|---|
| 547 | When the use of ldapsam is specified twice, as shown here, it is imperative
|
|---|
| 548 | that the two LDAP directories must be disjoint. If the entries are for a
|
|---|
| 549 | master LDAP server as well as its own slave server, updates to the LDAP
|
|---|
| 550 | database may end up being lost or corrupted. You may safely use multiple
|
|---|
| 551 | LDAP backends only if both are entirely separate from each other.
|
|---|
| 552 | </p></div><p>
|
|---|
| 553 | It is assumed that the network you are working with follows in a
|
|---|
| 554 | pattern similar to what was covered in <a class="link" href="happy.html" title="Chapter 5. Making Happy Users">“Making Happy Users”</a>. The following steps
|
|---|
| 555 | permit the operation of a master/slave OpenLDAP arrangement.
|
|---|
| 556 | </p><div class="procedure"><a name="id2585536"></a><p class="title"><b>Procedure 6.1. Implementation Steps for an LDAP Slave Server</b></p><ol type="1"><li><p>
|
|---|
| 557 | <a class="indexterm" name="id2585548"></a>
|
|---|
| 558 | <a class="indexterm" name="id2585555"></a>
|
|---|
| 559 | Log onto the master LDAP server as <code class="constant">root</code>.
|
|---|
| 560 | You are about to change the configuration of the LDAP server, so it
|
|---|
| 561 | makes sense to temporarily halt it. Stop OpenLDAP from running on
|
|---|
| 562 | SUSE Linux by executing:
|
|---|
| 563 | </p><pre class="screen">
|
|---|
| 564 | <code class="prompt">root# </code> rcldap stop
|
|---|
| 565 | </pre><p>
|
|---|
| 566 | On Red Hat Linux, you can do this by executing:
|
|---|
| 567 | </p><pre class="screen">
|
|---|
| 568 | <code class="prompt">root# </code> service ldap stop
|
|---|
| 569 | </pre><p>
|
|---|
| 570 | </p></li><li><p>
|
|---|
| 571 | <a class="indexterm" name="id2585600"></a>
|
|---|
| 572 | Edit the <code class="filename">/etc/openldap/slapd.conf</code> file so it
|
|---|
| 573 | matches the content of <a class="link" href="net2000users.html#ch7-LDAP-master" title="Example 6.1. LDAP Master Server Configuration File /etc/openldap/slapd.conf">“LDAP Master Server Configuration File /etc/openldap/slapd.conf”</a>.
|
|---|
| 574 | </p></li><li><p>
|
|---|
| 575 | Create a file called <code class="filename">admin-accts.ldif</code> with the following contents:
|
|---|
| 576 | </p><pre class="screen">
|
|---|
| 577 | dn: cn=updateuser,dc=abmas,dc=biz
|
|---|
| 578 | objectClass: person
|
|---|
| 579 | cn: updateuser
|
|---|
| 580 | sn: updateuser
|
|---|
| 581 | userPassword: not24get
|
|---|
| 582 |
|
|---|
| 583 | dn: cn=sambaadmin,dc=abmas,dc=biz
|
|---|
| 584 | objectClass: person
|
|---|
| 585 | cn: sambaadmin
|
|---|
| 586 | sn: sambaadmin
|
|---|
| 587 | userPassword: buttercup
|
|---|
| 588 | </pre><p>
|
|---|
| 589 | </p></li><li><p>
|
|---|
| 590 | Add an account called “<span class="quote">updateuser</span>” to the master LDAP server as shown here:
|
|---|
| 591 | </p><pre class="screen">
|
|---|
| 592 | <code class="prompt">root# </code> slapadd -v -l admin-accts.ldif
|
|---|
| 593 | </pre><p>
|
|---|
| 594 | </p></li><li><p>
|
|---|
| 595 | <a class="indexterm" name="id2585673"></a>
|
|---|
| 596 | <a class="indexterm" name="id2585680"></a>
|
|---|
| 597 | Change directory to a suitable place to dump the contents of the
|
|---|
| 598 | LDAP server. The dump file (and LDIF file) is used to preload
|
|---|
| 599 | the slave LDAP server database. You can dump the database by executing:
|
|---|
| 600 | </p><pre class="screen">
|
|---|
| 601 | <code class="prompt">root# </code> slapcat -v -l LDAP-transfer-LDIF.txt
|
|---|
| 602 | </pre><p>
|
|---|
| 603 | Each record is written to the file.
|
|---|
| 604 | </p></li><li><p>
|
|---|
| 605 | <a class="indexterm" name="id2585712"></a>
|
|---|
| 606 | Copy the file <code class="filename">LDAP-transfer-LDIF.txt</code> to the intended
|
|---|
| 607 | slave LDAP server. A good location could be in the directory
|
|---|
| 608 | <code class="filename">/etc/openldap/preload</code>.
|
|---|
| 609 | </p></li><li><p>
|
|---|
| 610 | Log onto the slave LDAP server as <code class="constant">root</code>. You can
|
|---|
| 611 | now configure this server so the <code class="filename">/etc/openldap/slapd.conf</code>
|
|---|
| 612 | file matches the content of <a class="link" href="net2000users.html#ch7-LDAP-slave" title="Example 6.2. LDAP Slave Configuration File /etc/openldap/slapd.conf">“LDAP Slave Configuration File /etc/openldap/slapd.conf”</a>.
|
|---|
| 613 | </p></li><li><p>
|
|---|
| 614 | Change directory to the location in which you stored the
|
|---|
| 615 | <code class="filename">LDAP-transfer-LDIF.txt</code> file (<code class="filename">/etc/openldap/preload</code>).
|
|---|
| 616 | While in this directory, execute:
|
|---|
| 617 | </p><pre class="screen">
|
|---|
| 618 | <code class="prompt">root# </code> slapadd -v -l LDAP-transfer-LDIF.txt
|
|---|
| 619 | </pre><p>
|
|---|
| 620 | If all goes well, the following output confirms that the data is being loaded
|
|---|
| 621 | as intended:
|
|---|
| 622 | </p><pre class="screen">
|
|---|
| 623 | added: "dc=abmas,dc=biz" (00000001)
|
|---|
| 624 | added: "cn=sambaadmin,dc=abmas,dc=biz" (00000002)
|
|---|
| 625 | added: "cn=updateuser,dc=abmas,dc=biz" (00000003)
|
|---|
| 626 | added: "ou=People,dc=abmas,dc=biz" (00000004)
|
|---|
| 627 | added: "ou=Groups,dc=abmas,dc=biz" (00000005)
|
|---|
| 628 | added: "ou=Computers,dc=abmas,dc=biz" (00000006)
|
|---|
| 629 | added: "uid=Administrator,ou=People,dc=abmas,dc=biz" (00000007)
|
|---|
| 630 | added: "uid=nobody,ou=People,dc=abmas,dc=biz" (00000008)
|
|---|
| 631 | added: "cn=Domain Admins,ou=Groups,dc=abmas,dc=biz" (00000009)
|
|---|
| 632 | added: "cn=Domain Users,ou=Groups,dc=abmas,dc=biz" (0000000a)
|
|---|
| 633 | added: "cn=Domain Guests,ou=Groups,dc=abmas,dc=biz" (0000000b)
|
|---|
| 634 | added: "uid=bobj,ou=People,dc=abmas,dc=biz" (0000000c)
|
|---|
| 635 | added: "sambaDomainName=MEGANET2,dc=abmas,dc=biz" (0000000d)
|
|---|
| 636 | added: "uid=stans,ou=People,dc=abmas,dc=biz" (0000000e)
|
|---|
| 637 | added: "uid=chrisr,ou=People,dc=abmas,dc=biz" (0000000f)
|
|---|
| 638 | added: "uid=maryv,ou=People,dc=abmas,dc=biz" (00000010)
|
|---|
| 639 | added: "cn=Accounts,ou=Groups,dc=abmas,dc=biz" (00000011)
|
|---|
| 640 | added: "cn=Finances,ou=Groups,dc=abmas,dc=biz" (00000012)
|
|---|
| 641 | added: "cn=PIOps,ou=Groups,dc=abmas,dc=biz" (00000013)
|
|---|
| 642 | </pre><p>
|
|---|
| 643 | </p></li><li><p>
|
|---|
| 644 | Now start the LDAP server and set it to run automatically on system reboot by executing:
|
|---|
| 645 | </p><pre class="screen">
|
|---|
| 646 | <code class="prompt">root# </code> rcldap start
|
|---|
| 647 | <code class="prompt">root# </code> chkconfig ldap on
|
|---|
| 648 | </pre><p>
|
|---|
| 649 | On Red Hat Linux, execute the following:
|
|---|
| 650 | </p><pre class="screen">
|
|---|
| 651 | <code class="prompt">root# </code> service ldap start
|
|---|
| 652 | <code class="prompt">root# </code> chkconfig ldap on
|
|---|
| 653 | </pre><p>
|
|---|
| 654 | </p></li><li><p>
|
|---|
| 655 | <a class="indexterm" name="id2585885"></a>
|
|---|
| 656 | <a class="indexterm" name="id2585892"></a>
|
|---|
| 657 | <a class="indexterm" name="id2585899"></a>
|
|---|
| 658 | Go back to the master LDAP server. Execute the following to start LDAP as well
|
|---|
| 659 | as <code class="literal">slurpd</code>, the synchronization daemon, as shown here:
|
|---|
| 660 | </p><pre class="screen">
|
|---|
| 661 | <code class="prompt">root# </code> rcldap start
|
|---|
| 662 | <code class="prompt">root# </code> chkconfig ldap on
|
|---|
| 663 | <code class="prompt">root# </code> rcslurpd start
|
|---|
| 664 | <code class="prompt">root# </code> chkconfig slurpd on
|
|---|
| 665 | </pre><p>
|
|---|
| 666 | <a class="indexterm" name="id2585944"></a>
|
|---|
| 667 | On Red Hat Linux, check the equivalent command to start <code class="literal">slurpd</code>.
|
|---|
| 668 | </p></li><li><p>
|
|---|
| 669 | <a class="indexterm" name="id2585965"></a>
|
|---|
| 670 | On the master LDAP server you may now add an account to validate that replication
|
|---|
| 671 | is working. Assuming the configuration shown in <a class="link" href="happy.html" title="Chapter 5. Making Happy Users">“Making Happy Users”</a>, execute:
|
|---|
| 672 | </p><pre class="screen">
|
|---|
| 673 | <code class="prompt">root# </code> /var/lib/samba/sbin/smbldap-useradd -a fruitloop
|
|---|
| 674 | </pre><p>
|
|---|
| 675 | </p></li><li><p>
|
|---|
| 676 | On the slave LDAP server, change to the directory <code class="filename">/var/lib/ldap</code>.
|
|---|
| 677 | There should now be a file called <code class="filename">replogfile</code>. If replication worked
|
|---|
| 678 | as expected, the content of this file should be:
|
|---|
| 679 | </p><pre class="screen">
|
|---|
| 680 | time: 1072486403
|
|---|
| 681 | dn: uid=fruitloop,ou=People,dc=abmas,dc=biz
|
|---|
| 682 | changetype: modify
|
|---|
| 683 | replace: sambaProfilePath
|
|---|
| 684 | sambaProfilePath: \\MASSIVE\profiles\fruitloop
|
|---|
| 685 | -
|
|---|
| 686 | replace: sambaHomePath
|
|---|
| 687 | sambaHomePath: \\MASSIVE\homes
|
|---|
| 688 | -
|
|---|
| 689 | replace: entryCSN
|
|---|
| 690 | entryCSN: 2003122700:43:38Z#0x0005#0#0000
|
|---|
| 691 | -
|
|---|
| 692 | replace: modifiersName
|
|---|
| 693 | modifiersName: cn=Manager,dc=abmas,dc=biz
|
|---|
| 694 | -
|
|---|
| 695 | replace: modifyTimestamp
|
|---|
| 696 | modifyTimestamp: 20031227004338Z
|
|---|
| 697 | -
|
|---|
| 698 | </pre><p>
|
|---|
| 699 | </p></li><li><p>
|
|---|
| 700 | Given that this first slave LDAP server is now working correctly, you may now
|
|---|
| 701 | implement additional slave LDAP servers as required.
|
|---|
| 702 | </p></li><li><p>
|
|---|
| 703 | On each machine (PDC and BDCs) after the respective <code class="filename">smb.conf</code> files have been created as shown in
|
|---|
| 704 | <a class="link" href="net2000users.html#ch7-massmbconfA" title="Example 6.3. Primary Domain Controller smb.conf File Part A">Primary Domain Controller <code class="filename">smb.conf</code> File Part A + B + C</a> and
|
|---|
| 705 | on BDCs the <a class="link" href="net2000users.html#ch7-slvsmbocnfA" title="Example 6.6. Backup Domain Controller smb.conf File Part A">Backup Domain Controller <code class="filename">smb.conf</code> File Part A
|
|---|
| 706 | + B + C</a> execute the following:
|
|---|
| 707 | </p><pre class="screen">
|
|---|
| 708 | <code class="prompt">root# </code> smbpasswd -w buttercup
|
|---|
| 709 | </pre><p>
|
|---|
| 710 | This will install in the <code class="filename">secrets.tdb</code> file the password that Samba will need to
|
|---|
| 711 | manage (write to) the LDAP Master server to perform account updates.
|
|---|
| 712 | </p></li></ol></div><div class="example"><a name="ch7-LDAP-master"></a><p class="title"><b>Example 6.1. LDAP Master Server Configuration File <code class="filename">/etc/openldap/slapd.conf</code></b></p><div class="example-contents"><pre class="screen">
|
|---|
| 713 | include /etc/openldap/schema/core.schema
|
|---|
| 714 | include /etc/openldap/schema/cosine.schema
|
|---|
| 715 | include /etc/openldap/schema/inetorgperson.schema
|
|---|
| 716 | include /etc/openldap/schema/nis.schema
|
|---|
| 717 | include /etc/openldap/schema/samba.schema
|
|---|
| 718 |
|
|---|
| 719 | pidfile /var/run/slapd/slapd.pid
|
|---|
| 720 | argsfile /var/run/slapd/slapd.args
|
|---|
| 721 |
|
|---|
| 722 | database bdb
|
|---|
| 723 | suffix "dc=abmas,dc=biz"
|
|---|
| 724 | rootdn "cn=Manager,dc=abmas,dc=biz"
|
|---|
| 725 |
|
|---|
| 726 | # rootpw = not24get
|
|---|
| 727 | rootpw {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV
|
|---|
| 728 |
|
|---|
| 729 | replica host=lapdc.abmas.biz:389
|
|---|
| 730 | suffix="dc=abmas,dc=biz"
|
|---|
| 731 | binddn="cn=updateuser,dc=abmas,dc=biz"
|
|---|
| 732 | bindmethod=simple credentials=not24get
|
|---|
| 733 |
|
|---|
| 734 | access to attrs=sambaLMPassword,sambaNTPassword
|
|---|
| 735 | by dn="cn=sambaadmin,dc=abmas,dc=biz" write
|
|---|
| 736 | by * none
|
|---|
| 737 |
|
|---|
| 738 | replogfile /var/lib/ldap/replogfile
|
|---|
| 739 |
|
|---|
| 740 | directory /var/lib/ldap
|
|---|
| 741 |
|
|---|
| 742 | # Indices to maintain
|
|---|
| 743 | index objectClass eq
|
|---|
| 744 | index cn pres,sub,eq
|
|---|
| 745 | index sn pres,sub,eq
|
|---|
| 746 | index uid pres,sub,eq
|
|---|
| 747 | index displayName pres,sub,eq
|
|---|
| 748 | index uidNumber eq
|
|---|
| 749 | index gidNumber eq
|
|---|
| 750 | index memberUID eq
|
|---|
| 751 | index sambaSID eq
|
|---|
| 752 | index sambaPrimaryGroupSID eq
|
|---|
| 753 | index sambaDomainName eq
|
|---|
| 754 | index default sub
|
|---|
| 755 | </pre></div></div><br class="example-break"><div class="example"><a name="ch7-LDAP-slave"></a><p class="title"><b>Example 6.2. LDAP Slave Configuration File <code class="filename">/etc/openldap/slapd.conf</code></b></p><div class="example-contents"><pre class="screen">
|
|---|
| 756 | include /etc/openldap/schema/core.schema
|
|---|
| 757 | include /etc/openldap/schema/cosine.schema
|
|---|
| 758 | include /etc/openldap/schema/inetorgperson.schema
|
|---|
| 759 | include /etc/openldap/schema/nis.schema
|
|---|
| 760 | include /etc/openldap/schema/samba.schema
|
|---|
| 761 |
|
|---|
| 762 | pidfile /var/run/slapd/slapd.pid
|
|---|
| 763 | argsfile /var/run/slapd/slapd.args
|
|---|
| 764 |
|
|---|
| 765 | database bdb
|
|---|
| 766 | suffix "dc=abmas,dc=biz"
|
|---|
| 767 | rootdn "cn=Manager,dc=abmas,dc=biz"
|
|---|
| 768 |
|
|---|
| 769 | # rootpw = not24get
|
|---|
| 770 | rootpw {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV
|
|---|
| 771 |
|
|---|
| 772 | access to *
|
|---|
| 773 | by dn=cn=updateuser,dc=abmas,dc=biz write
|
|---|
| 774 | by * read
|
|---|
| 775 |
|
|---|
| 776 | updatedn cn=updateuser,dc=abmas,dc=biz
|
|---|
| 777 | updateref ldap://massive.abmas.biz
|
|---|
| 778 |
|
|---|
| 779 | directory /var/lib/ldap
|
|---|
| 780 |
|
|---|
| 781 | # Indices to maintain
|
|---|
| 782 | index objectClass eq
|
|---|
| 783 | index cn pres,sub,eq
|
|---|
| 784 | index sn pres,sub,eq
|
|---|
| 785 | index uid pres,sub,eq
|
|---|
| 786 | index displayName pres,sub,eq
|
|---|
| 787 | index uidNumber eq
|
|---|
| 788 | index gidNumber eq
|
|---|
| 789 | index memberUID eq
|
|---|
| 790 | index sambaSID eq
|
|---|
| 791 | index sambaPrimaryGroupSID eq
|
|---|
| 792 | index sambaDomainName eq
|
|---|
| 793 | index default sub
|
|---|
| 794 | </pre></div></div><br class="example-break"><div class="example"><a name="ch7-massmbconfA"></a><p class="title"><b>Example 6.3. Primary Domain Controller <code class="filename">smb.conf</code> File Part A</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="id2586228"></a><em class="parameter"><code>unix charset = LOCALE</code></em></td></tr><tr><td><a class="indexterm" name="id2586240"></a><em class="parameter"><code>workgroup = MEGANET2</code></em></td></tr><tr><td><a class="indexterm" name="id2586252"></a><em class="parameter"><code>passdb backend = ldapsam:ldap://massive.abmas.biz</code></em></td></tr><tr><td><a class="indexterm" name="id2586264"></a><em class="parameter"><code>username map = /etc/samba/smbusers</code></em></td></tr><tr><td><a class="indexterm" name="id2586276"></a><em class="parameter"><code>log level = 1</code></em></td></tr><tr><td><a class="indexterm" name="id2586288"></a><em class="parameter"><code>syslog = 0</code></em></td></tr><tr><td><a class="indexterm" name="id2586299"></a><em class="parameter"><code>log file = /var/log/samba/%m</code></em></td></tr><tr><td><a class="indexterm" name="id2586311"></a><em class="parameter"><code>max log size = 0</code></em></td></tr><tr><td><a class="indexterm" name="id2586323"></a><em class="parameter"><code>smb ports = 139</code></em></td></tr><tr><td><a class="indexterm" name="id2586335"></a><em class="parameter"><code>name resolve order = wins bcast hosts</code></em></td></tr><tr><td><a class="indexterm" name="id2586347"></a><em class="parameter"><code>time server = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2586358"></a><em class="parameter"><code>printcap name = CUPS</code></em></td></tr><tr><td><a class="indexterm" name="id2586370"></a><em class="parameter"><code>add user script = /opt/IDEALX/sbin/smbldap-useradd -m '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2586383"></a><em class="parameter"><code>delete user script = /opt/IDEALX/sbin/smbldap-userdel '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2586395"></a><em class="parameter"><code>add group script = /opt/IDEALX/sbin/smbldap-groupadd -p '%g'</code></em></td></tr><tr><td><a class="indexterm" name="id2586408"></a><em class="parameter"><code>delete group script = /opt/IDEALX/sbin/smbldap-groupdel '%g'</code></em></td></tr><tr><td><a class="indexterm" name="id2586420"></a><em class="parameter"><code>add user to group script = /opt/IDEALX/sbin/smbldap-groupmod -m '%g' '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2586433"></a><em class="parameter"><code>delete user from group script = /opt/IDEALX/sbin/smbldap-groupmod -x '%g' '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2586446"></a><em class="parameter"><code>set primary group script = /opt/IDEALX/sbin/smbldap-usermod -g '%g' '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2586459"></a><em class="parameter"><code>add machine script = /opt/IDEALX/sbin/smbldap-useradd -w '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2586471"></a><em class="parameter"><code>shutdown script = /var/lib/samba/scripts/shutdown.sh</code></em></td></tr><tr><td><a class="indexterm" name="id2586484"></a><em class="parameter"><code>abort shutdown script = /sbin/shutdown -c</code></em></td></tr><tr><td><a class="indexterm" name="id2586496"></a><em class="parameter"><code>logon script = scripts\logon.bat</code></em></td></tr><tr><td><a class="indexterm" name="id2586508"></a><em class="parameter"><code>logon path = \\%L\profiles\%U</code></em></td></tr><tr><td><a class="indexterm" name="id2586520"></a><em class="parameter"><code>logon drive = X:</code></em></td></tr><tr><td><a class="indexterm" name="id2586531"></a><em class="parameter"><code>domain logons = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2586543"></a><em class="parameter"><code>domain master = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2586555"></a><em class="parameter"><code>wins support = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2586567"></a><em class="parameter"><code>ldap suffix = dc=abmas,dc=biz</code></em></td></tr><tr><td><a class="indexterm" name="id2586578"></a><em class="parameter"><code>ldap machine suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id2586590"></a><em class="parameter"><code>ldap user suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id2586602"></a><em class="parameter"><code>ldap group suffix = ou=Groups</code></em></td></tr><tr><td><a class="indexterm" name="id2586614"></a><em class="parameter"><code>ldap idmap suffix = ou=Idmap</code></em></td></tr><tr><td><a class="indexterm" name="id2586626"></a><em class="parameter"><code>ldap admin dn = cn=sambaadmin,dc=abmas,dc=biz</code></em></td></tr><tr><td><a class="indexterm" name="id2586639"></a><em class="parameter"><code>idmap backend = ldap://massive.abmas.biz</code></em></td></tr><tr><td><a class="indexterm" name="id2586651"></a><em class="parameter"><code>idmap uid = 10000-20000</code></em></td></tr><tr><td><a class="indexterm" name="id2586663"></a><em class="parameter"><code>idmap gid = 10000-20000</code></em></td></tr><tr><td><a class="indexterm" name="id2586674"></a><em class="parameter"><code>printer admin = root</code></em></td></tr><tr><td><a class="indexterm" name="id2586686"></a><em class="parameter"><code>printing = cups</code></em></td></tr></table></div></div><br class="example-break"><div class="example"><a name="ch7-massmbconfB"></a><p class="title"><b>Example 6.4. Primary Domain Controller <code class="filename">smb.conf</code> File Part B</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[IPC$]</code></em></td></tr><tr><td><a class="indexterm" name="id2586732"></a><em class="parameter"><code>path = /tmp</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[accounts]</code></em></td></tr><tr><td><a class="indexterm" name="id2586752"></a><em class="parameter"><code>comment = Accounting Files</code></em></td></tr><tr><td><a class="indexterm" name="id2586764"></a><em class="parameter"><code>path = /data/accounts</code></em></td></tr><tr><td><a class="indexterm" name="id2586776"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[service]</code></em></td></tr><tr><td><a class="indexterm" name="id2586796"></a><em class="parameter"><code>comment = Financial Services Files</code></em></td></tr><tr><td><a class="indexterm" name="id2586808"></a><em class="parameter"><code>path = /data/service</code></em></td></tr><tr><td><a class="indexterm" name="id2586820"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[pidata]</code></em></td></tr><tr><td><a class="indexterm" name="id2586840"></a><em class="parameter"><code>comment = Property Insurance Files</code></em></td></tr><tr><td><a class="indexterm" name="id2586852"></a><em class="parameter"><code>path = /data/pidata</code></em></td></tr><tr><td><a class="indexterm" name="id2586864"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[homes]</code></em></td></tr><tr><td><a class="indexterm" name="id2586884"></a><em class="parameter"><code>comment = Home Directories</code></em></td></tr><tr><td><a class="indexterm" name="id2586896"></a><em class="parameter"><code>valid users = %S</code></em></td></tr><tr><td><a class="indexterm" name="id2586908"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td><a class="indexterm" name="id2586919"></a><em class="parameter"><code>browseable = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[printers]</code></em></td></tr><tr><td><a class="indexterm" name="id2586940"></a><em class="parameter"><code>comment = SMB Print Spool</code></em></td></tr><tr><td><a class="indexterm" name="id2586951"></a><em class="parameter"><code>path = /var/spool/samba</code></em></td></tr><tr><td><a class="indexterm" name="id2586963"></a><em class="parameter"><code>guest ok = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2586975"></a><em class="parameter"><code>printable = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2586986"></a><em class="parameter"><code>browseable = No</code></em></td></tr></table></div></div><br class="example-break"><div class="example"><a name="ch7-massmbconfC"></a><p class="title"><b>Example 6.5. Primary Domain Controller <code class="filename">smb.conf</code> File Part C</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[apps]</code></em></td></tr><tr><td><a class="indexterm" name="id2587032"></a><em class="parameter"><code>comment = Application Files</code></em></td></tr><tr><td><a class="indexterm" name="id2587044"></a><em class="parameter"><code>path = /apps</code></em></td></tr><tr><td><a class="indexterm" name="id2587055"></a><em class="parameter"><code>admin users = bjones</code></em></td></tr><tr><td><a class="indexterm" name="id2587067"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[netlogon]</code></em></td></tr><tr><td><a class="indexterm" name="id2587087"></a><em class="parameter"><code>comment = Network Logon Service</code></em></td></tr><tr><td><a class="indexterm" name="id2587099"></a><em class="parameter"><code>path = /var/lib/samba/netlogon</code></em></td></tr><tr><td><a class="indexterm" name="id2587111"></a><em class="parameter"><code>admin users = root, Administrator</code></em></td></tr><tr><td><a class="indexterm" name="id2587123"></a><em class="parameter"><code>guest ok = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2587135"></a><em class="parameter"><code>locking = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[profiles]</code></em></td></tr><tr><td><a class="indexterm" name="id2587155"></a><em class="parameter"><code>comment = Profile Share</code></em></td></tr><tr><td><a class="indexterm" name="id2587167"></a><em class="parameter"><code>path = /var/lib/samba/profiles</code></em></td></tr><tr><td><a class="indexterm" name="id2587179"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td><a class="indexterm" name="id2587190"></a><em class="parameter"><code>profile acls = Yes</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[profdata]</code></em></td></tr><tr><td><a class="indexterm" name="id2587211"></a><em class="parameter"><code>comment = Profile Data Share</code></em></td></tr><tr><td><a class="indexterm" name="id2587223"></a><em class="parameter"><code>path = /var/lib/samba/profdata</code></em></td></tr><tr><td><a class="indexterm" name="id2587235"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td><a class="indexterm" name="id2587246"></a><em class="parameter"><code>profile acls = Yes</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[print$]</code></em></td></tr><tr><td><a class="indexterm" name="id2587267"></a><em class="parameter"><code>comment = Printer Drivers</code></em></td></tr><tr><td><a class="indexterm" name="id2587279"></a><em class="parameter"><code>path = /var/lib/samba/drivers</code></em></td></tr><tr><td><a class="indexterm" name="id2587291"></a><em class="parameter"><code>write list = root</code></em></td></tr><tr><td><a class="indexterm" name="id2587302"></a><em class="parameter"><code>admin users = root, Administrator</code></em></td></tr></table></div></div><br class="example-break"><div class="example"><a name="ch7-slvsmbocnfA"></a><p class="title"><b>Example 6.6. Backup Domain Controller <code class="filename">smb.conf</code> File Part A</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="id2587352"></a><em class="parameter"><code>unix charset = LOCALE</code></em></td></tr><tr><td><a class="indexterm" name="id2587363"></a><em class="parameter"><code>workgroup = MEGANET2</code></em></td></tr><tr><td><a class="indexterm" name="id2587375"></a><em class="parameter"><code>netbios name = BLDG1</code></em></td></tr><tr><td><a class="indexterm" name="id2587387"></a><em class="parameter"><code>passdb backend = ldapsam:ldap://lapdc.abmas.biz</code></em></td></tr><tr><td><a class="indexterm" name="id2587399"></a><em class="parameter"><code>username map = /etc/samba/smbusers</code></em></td></tr><tr><td><a class="indexterm" name="id2587411"></a><em class="parameter"><code>log level = 1</code></em></td></tr><tr><td><a class="indexterm" name="id2587423"></a><em class="parameter"><code>syslog = 0</code></em></td></tr><tr><td><a class="indexterm" name="id2587434"></a><em class="parameter"><code>log file = /var/log/samba/%m</code></em></td></tr><tr><td><a class="indexterm" name="id2587446"></a><em class="parameter"><code>max log size = 50</code></em></td></tr><tr><td><a class="indexterm" name="id2587458"></a><em class="parameter"><code>smb ports = 139</code></em></td></tr><tr><td><a class="indexterm" name="id2587469"></a><em class="parameter"><code>name resolve order = wins bcast hosts</code></em></td></tr><tr><td><a class="indexterm" name="id2587481"></a><em class="parameter"><code>printcap name = CUPS</code></em></td></tr><tr><td><a class="indexterm" name="id2587493"></a><em class="parameter"><code>show add printer wizard = No</code></em></td></tr><tr><td><a class="indexterm" name="id2587505"></a><em class="parameter"><code>logon script = scripts\logon.bat</code></em></td></tr><tr><td><a class="indexterm" name="id2587517"></a><em class="parameter"><code>logon path = \\%L\profiles\%U</code></em></td></tr><tr><td><a class="indexterm" name="id2587529"></a><em class="parameter"><code>logon drive = X:</code></em></td></tr><tr><td><a class="indexterm" name="id2587541"></a><em class="parameter"><code>domain logons = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2587553"></a><em class="parameter"><code>os level = 63</code></em></td></tr><tr><td><a class="indexterm" name="id2587564"></a><em class="parameter"><code>domain master = No</code></em></td></tr><tr><td><a class="indexterm" name="id2587576"></a><em class="parameter"><code>wins server = 192.168.2.1</code></em></td></tr><tr><td><a class="indexterm" name="id2587588"></a><em class="parameter"><code>ldap suffix = dc=abmas,dc=biz</code></em></td></tr><tr><td><a class="indexterm" name="id2587600"></a><em class="parameter"><code>ldap machine suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id2587612"></a><em class="parameter"><code>ldap user suffix = ou=People</code></em></td></tr><tr><td><a class="indexterm" name="id2587624"></a><em class="parameter"><code>ldap group suffix = ou=Groups</code></em></td></tr><tr><td><a class="indexterm" name="id2587636"></a><em class="parameter"><code>ldap idmap suffix = ou=Idmap</code></em></td></tr><tr><td><a class="indexterm" name="id2587648"></a><em class="parameter"><code>ldap admin dn = cn=sambaadmin,dc=abmas,dc=biz</code></em></td></tr><tr><td><a class="indexterm" name="id2587660"></a><em class="parameter"><code>utmp = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2587671"></a><em class="parameter"><code>idmap backend = ldap://massive.abmas.biz</code></em></td></tr><tr><td><a class="indexterm" name="id2587683"></a><em class="parameter"><code>idmap uid = 10000-20000</code></em></td></tr><tr><td><a class="indexterm" name="id2587695"></a><em class="parameter"><code>idmap gid = 10000-20000</code></em></td></tr><tr><td><a class="indexterm" name="id2587707"></a><em class="parameter"><code>printing = cups</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[accounts]</code></em></td></tr><tr><td><a class="indexterm" name="id2587727"></a><em class="parameter"><code>comment = Accounting Files</code></em></td></tr><tr><td><a class="indexterm" name="id2587739"></a><em class="parameter"><code>path = /data/accounts</code></em></td></tr><tr><td><a class="indexterm" name="id2587751"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[service]</code></em></td></tr><tr><td><a class="indexterm" name="id2587771"></a><em class="parameter"><code>comment = Financial Services Files</code></em></td></tr><tr><td><a class="indexterm" name="id2587783"></a><em class="parameter"><code>path = /data/service</code></em></td></tr><tr><td><a class="indexterm" name="id2587795"></a><em class="parameter"><code>read only = No</code></em></td></tr></table></div></div><br class="example-break"><div class="example"><a name="ch7-slvsmbocnfB"></a><p class="title"><b>Example 6.7. Backup Domain Controller <code class="filename">smb.conf</code> File Part B</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[pidata]</code></em></td></tr><tr><td><a class="indexterm" name="id2587841"></a><em class="parameter"><code>comment = Property Insurance Files</code></em></td></tr><tr><td><a class="indexterm" name="id2587853"></a><em class="parameter"><code>path = /data/pidata</code></em></td></tr><tr><td><a class="indexterm" name="id2587864"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[homes]</code></em></td></tr><tr><td><a class="indexterm" name="id2587884"></a><em class="parameter"><code>comment = Home Directories</code></em></td></tr><tr><td><a class="indexterm" name="id2587896"></a><em class="parameter"><code>valid users = %S</code></em></td></tr><tr><td><a class="indexterm" name="id2587908"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td><a class="indexterm" name="id2587919"></a><em class="parameter"><code>browseable = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[printers]</code></em></td></tr><tr><td><a class="indexterm" name="id2587940"></a><em class="parameter"><code>comment = SMB Print Spool</code></em></td></tr><tr><td><a class="indexterm" name="id2587952"></a><em class="parameter"><code>path = /var/spool/samba</code></em></td></tr><tr><td><a class="indexterm" name="id2587963"></a><em class="parameter"><code>guest ok = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2587975"></a><em class="parameter"><code>printable = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2587987"></a><em class="parameter"><code>browseable = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[apps]</code></em></td></tr><tr><td><a class="indexterm" name="id2588007"></a><em class="parameter"><code>comment = Application Files</code></em></td></tr><tr><td><a class="indexterm" name="id2588019"></a><em class="parameter"><code>path = /apps</code></em></td></tr><tr><td><a class="indexterm" name="id2588030"></a><em class="parameter"><code>admin users = bjones</code></em></td></tr><tr><td><a class="indexterm" name="id2588042"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[netlogon]</code></em></td></tr><tr><td><a class="indexterm" name="id2588063"></a><em class="parameter"><code>comment = Network Logon Service</code></em></td></tr><tr><td><a class="indexterm" name="id2588075"></a><em class="parameter"><code>path = /var/lib/samba/netlogon</code></em></td></tr><tr><td><a class="indexterm" name="id2588086"></a><em class="parameter"><code>guest ok = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2588098"></a><em class="parameter"><code>locking = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[profiles]</code></em></td></tr><tr><td><a class="indexterm" name="id2588119"></a><em class="parameter"><code>comment = Profile Share</code></em></td></tr><tr><td><a class="indexterm" name="id2588130"></a><em class="parameter"><code>path = /var/lib/samba/profiles</code></em></td></tr><tr><td><a class="indexterm" name="id2588142"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td><a class="indexterm" name="id2588154"></a><em class="parameter"><code>profile acls = Yes</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[profdata]</code></em></td></tr><tr><td><a class="indexterm" name="id2588174"></a><em class="parameter"><code>comment = Profile Data Share</code></em></td></tr><tr><td><a class="indexterm" name="id2588186"></a><em class="parameter"><code>path = /var/lib/samba/profdata</code></em></td></tr><tr><td><a class="indexterm" name="id2588198"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td><a class="indexterm" name="id2588210"></a><em class="parameter"><code>profile acls = Yes</code></em></td></tr></table></div></div><br class="example-break"><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2588223"></a>Key Points Learned</h3></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
|
|---|
| 795 | <a class="indexterm" name="id2588234"></a><a class="indexterm" name="id2588239"></a>
|
|---|
| 796 | Where Samba-3 is used as a domain controller, the use of LDAP is an
|
|---|
| 797 | essential component to permit the use of BDCs.
|
|---|
| 798 | </p></li><li><p>
|
|---|
| 799 | <a class="indexterm" name="id2588252"></a>
|
|---|
| 800 | Replication of the LDAP master server to create a network of BDCs
|
|---|
| 801 | is an important mechanism for limiting WAN traffic.
|
|---|
| 802 | </p></li><li><p>
|
|---|
| 803 | Network administration presents many complex challenges, most of which
|
|---|
| 804 | can be satisfied by good design but that also require sound communication
|
|---|
| 805 | and unification of management practices. This can be highly challenging in
|
|---|
| 806 | a large, globally distributed network.
|
|---|
| 807 | </p></li><li><p>
|
|---|
| 808 | Roaming profiles must be contained to the local network segment. Any
|
|---|
| 809 | departure from this may clog wide-area arteries and slow legitimate network
|
|---|
| 810 | traffic to a crawl.
|
|---|
| 811 | </p></li></ul></div></div><div class="figure"><a name="chap7net"></a><p class="title"><b>Figure 6.6. Network Topology 2000 User Complex Design A</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/chap7-net-Ar.png" width="432" alt="Network Topology 2000 User Complex Design A"></div></div></div><br class="figure-break"><div class="figure"><a name="chap7net2"></a><p class="title"><b>Figure 6.7. Network Topology 2000 User Complex Design B</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/chap7-net2-Br.png" width="432" alt="Network Topology 2000 User Complex Design B"></div></div></div><br class="figure-break"></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2588370"></a>Questions and Answers</h2></div></div></div><p>
|
|---|
| 812 | There is much rumor and misinformation regarding the use of MS Windows networking protocols.
|
|---|
| 813 | These questions are just a few of those frequently asked.
|
|---|
| 814 | </p><div class="qandaset"><dl><dt> <a href="net2000users.html#id2588388">
|
|---|
| 815 |
|
|---|
| 816 |
|
|---|
| 817 | Is it true that DHCP uses lots of WAN bandwidth?
|
|---|
| 818 | </a></dt><dt> <a href="net2000users.html#id2588523">
|
|---|
| 819 |
|
|---|
| 820 |
|
|---|
| 821 | How much background communication takes place between a master LDAP server and its slave LDAP servers?
|
|---|
| 822 | </a></dt><dt> <a href="net2000users.html#id2588584">
|
|---|
| 823 | LDAP has a database. Is LDAP not just a fancy database front end?
|
|---|
| 824 | </a></dt><dt> <a href="net2000users.html#id2588648">
|
|---|
| 825 |
|
|---|
| 826 | Can Active Directory obtain account information from an OpenLDAP server?
|
|---|
| 827 | </a></dt><dt> <a href="net2000users.html#id2588683">
|
|---|
| 828 | What are the parts of a roaming profile? How large is each part?
|
|---|
| 829 | </a></dt><dt> <a href="net2000users.html#id2588832">
|
|---|
| 830 | Can the My Documents folder be stored on a network drive?
|
|---|
| 831 | </a></dt><dt> <a href="net2000users.html#id2588880">
|
|---|
| 832 |
|
|---|
| 833 |
|
|---|
| 834 |
|
|---|
| 835 | How much WAN bandwidth does WINS consume?
|
|---|
| 836 | </a></dt><dt> <a href="net2000users.html#id2588964">
|
|---|
| 837 | How many BDCs should I have? What is the right number of Windows clients per server?
|
|---|
| 838 | </a></dt><dt> <a href="net2000users.html#id2589000">
|
|---|
| 839 |
|
|---|
| 840 | I've heard that you can store NIS accounts in LDAP. Is LDAP not just a smarter way to
|
|---|
| 841 | run an NIS server?
|
|---|
| 842 | </a></dt><dt> <a href="net2000users.html#id2589034">
|
|---|
| 843 | Can I use NIS in place of LDAP?
|
|---|
| 844 | </a></dt></dl><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="id2588388"></a><a name="id2588390"></a></td><td align="left" valign="top"><p>
|
|---|
| 845 | <a class="indexterm" name="id2588395"></a>
|
|---|
| 846 | <a class="indexterm" name="id2588401"></a>
|
|---|
| 847 | Is it true that DHCP uses lots of WAN bandwidth?
|
|---|
| 848 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 849 | <a class="indexterm" name="id2588418"></a>
|
|---|
| 850 | <a class="indexterm" name="id2588427"></a>
|
|---|
| 851 | <a class="indexterm" name="id2588434"></a>
|
|---|
| 852 | It is a smart practice to localize DHCP servers on each network segment. As a
|
|---|
| 853 | rule, there should be two DHCP servers per network segment. This means that if
|
|---|
| 854 | one server fails, there is always another to service user needs. DHCP requests use
|
|---|
| 855 | only UDP broadcast protocols. It is possible to run a DHCP Relay Agent on network
|
|---|
| 856 | routers. This makes it possible to run fewer DHCP servers.
|
|---|
| 857 | </p><p>
|
|---|
| 858 | <a class="indexterm" name="id2588453"></a>
|
|---|
| 859 | <a class="indexterm" name="id2588462"></a>
|
|---|
| 860 | A DHCP network address request and confirmation usually results in about six UDP packets.
|
|---|
| 861 | The packets are from 60 to 568 bytes in length. Let us consider a site that has 300 DHCP
|
|---|
| 862 | clients and that uses a 24-hour IP address lease. This means that all clients renew
|
|---|
| 863 | their IP address lease every 24 hours. If we assume an average packet length equal to the
|
|---|
| 864 | maximum (just to be on the safe side), and we have a 128 Kb/sec wide-area connection,
|
|---|
| 865 | how significant would the DHCP traffic be if all of it were to use DHCP Relay?
|
|---|
| 866 | </p><p>
|
|---|
| 867 | I must stress that this is a bad design, but here is the calculation:
|
|---|
| 868 | </p><pre class="screen">
|
|---|
| 869 | Daily Network Capacity: 128,000 (Kbits/s) / 8 (bits/byte)
|
|---|
| 870 | x 3600 (sec/hr) x 24 (hrs/day)= 2288 Mbytes/day.
|
|---|
| 871 |
|
|---|
| 872 | DHCP traffic: 300 (clients) x 6 (packets)
|
|---|
| 873 | x 512 (bytes/packet) = 0.9 Mbytes/day.
|
|---|
| 874 | </pre><p>
|
|---|
| 875 | From this can be seen that the traffic impact would be minimal.
|
|---|
| 876 | </p><p>
|
|---|
| 877 | <a class="indexterm" name="id2588500"></a>
|
|---|
| 878 | <a class="indexterm" name="id2588509"></a>
|
|---|
| 879 | Even when DHCP is configured to do DNS update (dynamic DNS) over a wide-area link,
|
|---|
| 880 | the impact of the update is no more than the DHCP IP address renewal traffic and thus
|
|---|
| 881 | still insignificant for most practical purposes.
|
|---|
| 882 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2588523"></a><a name="id2588525"></a></td><td align="left" valign="top"><p>
|
|---|
| 883 | <a class="indexterm" name="id2588529"></a>
|
|---|
| 884 | <a class="indexterm" name="id2588536"></a>
|
|---|
| 885 | How much background communication takes place between a master LDAP server and its slave LDAP servers?
|
|---|
| 886 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 887 | <a class="indexterm" name="id2588557"></a>
|
|---|
| 888 | The process that controls the replication of data from the master LDAP server to the slave LDAP
|
|---|
| 889 | servers is called <code class="literal">slurpd</code>. The <code class="literal">slurpd</code> remains nascent (quiet)
|
|---|
| 890 | until an update must be propagated. The propagation traffic per LDAP slave to update (add/modify/delete)
|
|---|
| 891 | two user accounts requires less than 10KB traffic.
|
|---|
| 892 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2588584"></a><a name="id2588586"></a></td><td align="left" valign="top"><p>
|
|---|
| 893 | LDAP has a database. Is LDAP not just a fancy database front end?
|
|---|
| 894 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 895 | <a class="indexterm" name="id2588598"></a>
|
|---|
| 896 | <a class="indexterm" name="id2588605"></a>
|
|---|
| 897 | <a class="indexterm" name="id2588614"></a>
|
|---|
| 898 | <a class="indexterm" name="id2588620"></a>
|
|---|
| 899 | LDAP does store its data in a database of sorts. In fact, the LDAP backend is an application-specific
|
|---|
| 900 | data storage system. This type of database is indexed so that records can be rapidly located, but the
|
|---|
| 901 | database is not generic and can be used only in particular pre-programmed ways. General external
|
|---|
| 902 | applications do not gain access to the data. This type of database is used also by SQL servers. Both
|
|---|
| 903 | an SQL server and an LDAP server provide ways to access the data. An SQL server has a transactional
|
|---|
| 904 | orientation and typically allows external programs to perform ad hoc queries, even across data tables.
|
|---|
| 905 | An LDAP front end is a purpose-built tool that has a search orientation that is designed around specific
|
|---|
| 906 | simple queries. The term <code class="constant">database</code> is heavily overloaded and thus much misunderstood.
|
|---|
| 907 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2588648"></a><a name="id2588650"></a></td><td align="left" valign="top"><p>
|
|---|
| 908 | <a class="indexterm" name="id2588654"></a>
|
|---|
| 909 | Can Active Directory obtain account information from an OpenLDAP server?
|
|---|
| 910 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 911 | <a class="indexterm" name="id2588669"></a>
|
|---|
| 912 | No, at least not directly. It is possible to provision Active Directory from and/or to an OpenLDAP
|
|---|
| 913 | database through use of a metadirectory server. Microsoft MMS (now called MIIS) can interface
|
|---|
| 914 | to OpenLDAP using standard LDAP queries and updates.
|
|---|
| 915 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2588683"></a><a name="id2588685"></a></td><td align="left" valign="top"><p>
|
|---|
| 916 | What are the parts of a roaming profile? How large is each part?
|
|---|
| 917 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p><a class="indexterm" name="id2588696"></a>
|
|---|
| 918 | A roaming profile consists of
|
|---|
| 919 | </p><div class="itemizedlist"><ul type="disc"><li><p>
|
|---|
| 920 | Desktop folders such as <code class="constant">Desktop</code>, <code class="constant">My Documents</code>,
|
|---|
| 921 | <code class="constant">My Pictures</code>, <code class="constant">My Music</code>, <code class="constant">Internet Files</code>,
|
|---|
| 922 | <code class="constant">Cookies</code>, <code class="constant">Application Data</code>,
|
|---|
| 923 | <code class="constant">Local Settings,</code> and more. See <a class="link" href="happy.html" title="Chapter 5. Making Happy Users">“Making Happy Users”</a>, <a class="link" href="happy.html#XP-screen001" title="Figure 5.3. Windows XP Professional User Shared Folders">“Windows XP Professional User Shared Folders”</a>.
|
|---|
| 924 | </p><p>
|
|---|
| 925 | <a class="indexterm" name="id2588757"></a>
|
|---|
| 926 | Each of these can be anywhere from a few bytes to gigabytes in capacity. Fortunately, all
|
|---|
| 927 | such folders can be redirected to network drive resources. See <a class="link" href="happy.html#redirfold" title="Configuration of Default Profile with Folder Redirection">“Configuration of Default Profile with Folder Redirection”</a>
|
|---|
| 928 | for more information regarding folder redirection.
|
|---|
| 929 | </p></li><li><p>
|
|---|
| 930 | A static or rewritable portion that is typically only a few files (2-5 KB of information).
|
|---|
| 931 | </p></li><li><p>
|
|---|
| 932 | <a class="indexterm" name="id2588784"></a>
|
|---|
| 933 | <a class="indexterm" name="id2588790"></a>
|
|---|
| 934 | The registry load file that modifies the <code class="constant">HKEY_LOCAL_USER</code> hive. This is
|
|---|
| 935 | the <code class="filename">NTUSER.DAT</code> file. It can be from 0.4 to 1.5 MB.
|
|---|
| 936 | </p></li></ul></div><p>
|
|---|
| 937 | <a class="indexterm" name="id2588813"></a>
|
|---|
| 938 | Microsoft Outlook PST files may be stored in the <code class="constant">Local Settings\Application Data</code>
|
|---|
| 939 | folder. It can be up to 2 GB in size per PST file.
|
|---|
| 940 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2588832"></a><a name="id2588834"></a></td><td align="left" valign="top"><p>
|
|---|
| 941 | Can the <code class="constant">My Documents</code> folder be stored on a network drive?
|
|---|
| 942 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 943 | <a class="indexterm" name="id2588849"></a>
|
|---|
| 944 | <a class="indexterm" name="id2588856"></a>
|
|---|
| 945 | Yes. More correctly, such folders can be redirected to network shares. No specific network drive
|
|---|
| 946 | connection is required. Registry settings permit this to be redirected directly to a UNC (Universal
|
|---|
| 947 | Naming Convention) resource, though it is possible to specify a network drive letter instead of a
|
|---|
| 948 | UNC name. See <a class="link" href="happy.html#redirfold" title="Configuration of Default Profile with Folder Redirection">“Configuration of Default Profile with Folder Redirection”</a>.
|
|---|
| 949 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2588880"></a><a name="id2588882"></a></td><td align="left" valign="top"><p>
|
|---|
| 950 | <a class="indexterm" name="id2588886"></a>
|
|---|
| 951 | <a class="indexterm" name="id2588893"></a>
|
|---|
| 952 | <a class="indexterm" name="id2588902"></a>
|
|---|
| 953 | How much WAN bandwidth does WINS consume?
|
|---|
| 954 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 955 | <a class="indexterm" name="id2588916"></a>
|
|---|
| 956 | <a class="indexterm" name="id2588925"></a>
|
|---|
| 957 | <a class="indexterm" name="id2588932"></a>
|
|---|
| 958 | MS Windows clients cache information obtained from WINS lookups in a local NetBIOS name cache.
|
|---|
| 959 | This keeps WINS lookups to a minimum. On a network with 3500 MS Windows clients and a central WINS
|
|---|
| 960 | server, the total bandwidth demand measured at the WINS server, averaged over an 8-hour working day,
|
|---|
| 961 | was less than 30 KB/sec. Analysis of network traffic over a 6-week period showed that the total
|
|---|
| 962 | of all background traffic consumed about 11 percent of available bandwidth over 64 Kb/sec links.
|
|---|
| 963 | Background traffic consisted of domain replication, WINS queries, DNS lookups, and authentication
|
|---|
| 964 | traffic. Each of 11 branch offices had a 64 Kb/sec wide-area link, with a 1.5 Mb/sec main connection
|
|---|
| 965 | that aggregated the branch office connections plus an Internet connection.
|
|---|
| 966 | </p><p>
|
|---|
| 967 | In conclusion, the total load afforded through WINS traffic is again marginal to total operational
|
|---|
| 968 | usage as it should be.
|
|---|
| 969 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2588964"></a><a name="id2588966"></a></td><td align="left" valign="top"><p>
|
|---|
| 970 | How many BDCs should I have? What is the right number of Windows clients per server?
|
|---|
| 971 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 972 | It is recommended to have at least one BDC per network segment, including the segment served
|
|---|
| 973 | by the PDC. Actual requirements vary depending on the working load on each of the BDCs and the
|
|---|
| 974 | load demand pattern of client usage. I have seen sites that function without problem with 200
|
|---|
| 975 | clients served by one BDC, and yet other sites that had one BDC per 20 clients. In one particular
|
|---|
| 976 | company, there was a drafting office that had 30 CAD/CAM operators served by one server, a print
|
|---|
| 977 | server; and an application server. While all three were BDCs, typically only the print server would
|
|---|
| 978 | service network logon requests after the first 10 users had started to use the network. This was
|
|---|
| 979 | a reflection of the service load placed on both the application server and the data server.
|
|---|
| 980 | </p><p>
|
|---|
| 981 | As unsatisfactory as the answer might sound, it all depends on network and server load
|
|---|
| 982 | characteristics.
|
|---|
| 983 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2589000"></a><a name="id2589002"></a></td><td align="left" valign="top"><p>
|
|---|
| 984 | <a class="indexterm" name="id2589006"></a><a class="indexterm" name="id2589012"></a>
|
|---|
| 985 | I've heard that you can store NIS accounts in LDAP. Is LDAP not just a smarter way to
|
|---|
| 986 | run an NIS server?
|
|---|
| 987 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 988 | The correct answer to both questions is yes. But do understand that an LDAP server has
|
|---|
| 989 | a configurable schema that can store far more information for many more purposes than
|
|---|
| 990 | just NIS.
|
|---|
| 991 | </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2589034"></a><a name="id2589036"></a></td><td align="left" valign="top"><p>
|
|---|
| 992 | Can I use NIS in place of LDAP?
|
|---|
| 993 | </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
|
|---|
| 994 | <a class="indexterm" name="id2589047"></a>
|
|---|
| 995 | <a class="indexterm" name="id2589054"></a>
|
|---|
| 996 | No. The NIS database does not have provision to store Microsoft encrypted passwords and does not deal
|
|---|
| 997 | with the types of data necessary for interoperability with Microsoft Windows networking. The use
|
|---|
| 998 | of LDAP with Samba requires the use of a number of schemas, one of which is the NIS schema, but also
|
|---|
| 999 | a Samba-specific schema extension.
|
|---|
| 1000 | </p></td></tr></tbody></table></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="happy.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ExNetworks.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="DMSMig.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. Making Happy Users </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Part II. Domain Members, Updating Samba and Migration</td></tr></table></div></body></html>
|
|---|