| 1 | <?xml version="1.0" encoding="iso-8859-1"?>
 | 
|---|
| 2 | <!DOCTYPE chapter PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
 | 
|---|
| 3 | <chapter id="NT4Migration">
 | 
|---|
| 4 | <chapterinfo>
 | 
|---|
| 5 |         &author.jht;
 | 
|---|
| 6 |         <pubdate>April 3, 2003</pubdate>
 | 
|---|
| 7 | </chapterinfo>
 | 
|---|
| 8 | 
 | 
|---|
| 9 | <title>Migration from NT4 PDC to Samba-3 PDC</title>
 | 
|---|
| 10 | 
 | 
|---|
| 11 | <para>
 | 
|---|
| 12 | <indexterm><primary>migrate</primary></indexterm>
 | 
|---|
| 13 | <indexterm><primary>domain control</primary></indexterm>
 | 
|---|
| 14 | This is a rough guide to assist those wishing to migrate from NT4 domain control to
 | 
|---|
| 15 | Samba-3-based domain control.
 | 
|---|
| 16 | </para>
 | 
|---|
| 17 | 
 | 
|---|
| 18 | <sect1>
 | 
|---|
| 19 | <title>Planning and Getting Started</title>
 | 
|---|
| 20 | 
 | 
|---|
| 21 | <para>
 | 
|---|
| 22 | <indexterm><primary>show-stopper-type</primary></indexterm>
 | 
|---|
| 23 | In the IT world there is often a saying that all problems are encountered because of
 | 
|---|
| 24 | poor planning. The corollary to this saying is that not all problems can be anticipated
 | 
|---|
| 25 | and planned for. Then again, good planning will anticipate most show-stopper-type situations.
 | 
|---|
| 26 | </para>
 | 
|---|
| 27 | 
 | 
|---|
| 28 | <para>
 | 
|---|
| 29 | <indexterm><primary>migration plan</primary></indexterm>
 | 
|---|
| 30 | Those wishing to migrate from MS Windows NT4 domain control to a Samba-3 domain control
 | 
|---|
| 31 | environment would do well to develop a detailed migration plan. So here are a few pointers to
 | 
|---|
| 32 | help migration get underway.
 | 
|---|
| 33 | </para>
 | 
|---|
| 34 | 
 | 
|---|
| 35 | <sect2>
 | 
|---|
| 36 | <title>Objectives</title>
 | 
|---|
| 37 | 
 | 
|---|
| 38 | <para>
 | 
|---|
| 39 | <indexterm><primary>migration process</primary></indexterm>
 | 
|---|
| 40 | The key objective for most organizations is to make the migration from MS Windows NT4 
 | 
|---|
| 41 | to Samba-3 domain control as painless as possible. One of the challenges you may experience
 | 
|---|
| 42 | in your migration process may well be convincing management that the new environment
 | 
|---|
| 43 | should remain in place. Many who have introduced open source technologies have experienced
 | 
|---|
| 44 | pressure to return to a Microsoft-based platform solution at the first sign of trouble. 
 | 
|---|
| 45 | </para>
 | 
|---|
| 46 | 
 | 
|---|
| 47 | <para>
 | 
|---|
| 48 | <indexterm><primary>change motivations</primary></indexterm>
 | 
|---|
| 49 | Before attempting a migration to a Samba-3-controlled network, make every possible effort to
 | 
|---|
| 50 | gain all-round commitment to the change. Know precisely <emphasis>why</emphasis> the change
 | 
|---|
| 51 | is important for the organization. Possible motivations to make a change include:
 | 
|---|
| 52 | </para>
 | 
|---|
| 53 | 
 | 
|---|
| 54 | <indexterm><primary>manageability</primary></indexterm>
 | 
|---|
| 55 | <indexterm><primary>functionality</primary></indexterm>
 | 
|---|
| 56 | <indexterm><primary>operating costs</primary></indexterm>
 | 
|---|
| 57 | <indexterm><primary>support exposure</primary></indexterm>
 | 
|---|
| 58 | <indexterm><primary>licensing</primary></indexterm>
 | 
|---|
| 59 | 
 | 
|---|
| 60 | <itemizedlist>
 | 
|---|
| 61 |     <listitem><para>Improve network manageability.</para></listitem>
 | 
|---|
| 62 |     <listitem><para>Obtain better user-level functionality.</para></listitem>
 | 
|---|
| 63 |     <listitem><para>Reduce network operating costs.</para></listitem>
 | 
|---|
| 64 |     <listitem><para>Reduce exposure caused by Microsoft withdrawal of NT4 support.</para></listitem>
 | 
|---|
| 65 |     <listitem><para>Avoid MS License 6 implications.</para></listitem>
 | 
|---|
| 66 |     <listitem><para>Reduce organization's dependency on Microsoft.</para></listitem>
 | 
|---|
| 67 | </itemizedlist>
 | 
|---|
| 68 | 
 | 
|---|
| 69 | <para>
 | 
|---|
| 70 | <indexterm><primary>alternative solution</primary></indexterm>
 | 
|---|
| 71 | <indexterm><primary>advantages</primary></indexterm>
 | 
|---|
| 72 | <indexterm><primary>core values</primary></indexterm>
 | 
|---|
| 73 | <indexterm><primary>migration</primary></indexterm>
 | 
|---|
| 74 | <indexterm><primary>ADS</primary></indexterm>
 | 
|---|
| 75 | <indexterm><primary>without ADS</primary></indexterm>
 | 
|---|
| 76 | Make sure everyone knows that Samba-3 is not MS Windows NT4. Samba-3 offers
 | 
|---|
| 77 | an alternative solution that is both different from MS Windows NT4 and offers 
 | 
|---|
| 78 | advantages compared with it. Gain recognition that Samba-3 lacks many of the
 | 
|---|
| 79 | features that Microsoft has promoted as core values in migration from MS Windows NT4 to 
 | 
|---|
| 80 | MS Windows 2000 and beyond (with or without Active Directory services).
 | 
|---|
| 81 | </para>
 | 
|---|
| 82 | 
 | 
|---|
| 83 | <para>
 | 
|---|
| 84 | What are the features that Samba-3 cannot provide?
 | 
|---|
| 85 | </para>
 | 
|---|
| 86 | 
 | 
|---|
| 87 | <indexterm><primary>Active Directory Server</primary></indexterm>
 | 
|---|
| 88 | <indexterm><primary>Group Policy Objects</primary></indexterm>
 | 
|---|
| 89 | <indexterm><primary>Machine Policy Objects</primary></indexterm>
 | 
|---|
| 90 | <indexterm><primary>Logon Scripts</primary></indexterm>
 | 
|---|
| 91 | <indexterm><primary>Access Controls</primary></indexterm>
 | 
|---|
| 92 | 
 | 
|---|
| 93 | <itemizedlist>
 | 
|---|
| 94 |         <listitem><para>Active Directory Server.</para></listitem>
 | 
|---|
| 95 |         <listitem><para>Group Policy Objects (in Active Directory).</para></listitem>
 | 
|---|
| 96 |         <listitem><para>Machine Policy Objects.</para></listitem>
 | 
|---|
| 97 |         <listitem><para>Logon Scripts in Active Directory.</para></listitem>
 | 
|---|
| 98 |         <listitem><para>Software Application and Access Controls in Active Directory.</para></listitem>
 | 
|---|
| 99 | </itemizedlist>
 | 
|---|
| 100 | 
 | 
|---|
| 101 | <para>
 | 
|---|
| 102 | The features that Samba-3 does provide and that may be of compelling interest to your site
 | 
|---|
| 103 | include:
 | 
|---|
| 104 | </para>
 | 
|---|
| 105 | 
 | 
|---|
| 106 | <indexterm><primary>ownership cost</primary></indexterm>
 | 
|---|
| 107 | <indexterm><primary>Global support</primary></indexterm>
 | 
|---|
| 108 | <indexterm><primary>Dynamic SMB servers</primary></indexterm>
 | 
|---|
| 109 | <indexterm><primary>on-the-fly logon scripts</primary></indexterm>
 | 
|---|
| 110 | <indexterm><primary>on-the-fly policy files</primary></indexterm>
 | 
|---|
| 111 | <indexterm><primary>stability</primary></indexterm>
 | 
|---|
| 112 | <indexterm><primary>reliability</primary></indexterm>
 | 
|---|
| 113 | <indexterm><primary>performance</primary></indexterm>
 | 
|---|
| 114 | <indexterm><primary>availability</primary></indexterm>
 | 
|---|
| 115 | <indexterm><primary>Manageability</primary></indexterm>
 | 
|---|
| 116 | <indexterm><primary>backend authentication</primary></indexterm>
 | 
|---|
| 117 | <indexterm><primary>tdbsam</primary></indexterm>
 | 
|---|
| 118 | <indexterm><primary>ldapsam</primary></indexterm>
 | 
|---|
| 119 | <indexterm><primary>single-sign-on</primary></indexterm>
 | 
|---|
| 120 | <indexterm><primary>distribute authentication systems</primary></indexterm>
 | 
|---|
| 121 | 
 | 
|---|
| 122 | <itemizedlist>
 | 
|---|
| 123 |         <listitem><para>Lower cost of ownership.</para></listitem>
 | 
|---|
| 124 |         <listitem><para>Global availability of support with no strings attached.</para></listitem>
 | 
|---|
| 125 |         <listitem><para>Dynamic SMB servers (can run more than one SMB/CIFS server per UNIX/Linux system).</para></listitem>
 | 
|---|
| 126 |         <listitem><para>Creation of on-the-fly logon scripts.</para></listitem>
 | 
|---|
| 127 |         <listitem><para>Creation of on-the-fly policy files.</para></listitem>
 | 
|---|
| 128 |         <listitem><para>Greater stability, reliability, performance, and availability.</para></listitem>
 | 
|---|
| 129 |         <listitem><para>Manageability via an SSH connection.</para></listitem>
 | 
|---|
| 130 |         <listitem><para>Flexible choices of backend authentication technologies (tdbsam, ldapsam).</para></listitem>
 | 
|---|
| 131 |         <listitem><para>Ability to implement a full single-sign-on architecture.</para></listitem>
 | 
|---|
| 132 |         <listitem><para>Ability to distribute authentication systems for absolute minimum wide-area network bandwidth demand.</para></listitem>
 | 
|---|
| 133 | </itemizedlist>
 | 
|---|
| 134 | 
 | 
|---|
| 135 | <para>
 | 
|---|
| 136 | <indexterm><primary>successful migration</primary></indexterm>
 | 
|---|
| 137 | Before migrating a network from MS Windows NT4 to Samba-3, consider all necessary factors. Users
 | 
|---|
| 138 | should be educated about changes they may experience so the change will be a welcome one
 | 
|---|
| 139 | and not become an obstacle to the work they need to do. The following sections explain factors that will 
 | 
|---|
| 140 | help ensure a successful migration.
 | 
|---|
| 141 | </para>
 | 
|---|
| 142 | 
 | 
|---|
| 143 | <sect3>
 | 
|---|
| 144 | <title>Domain Layout</title>
 | 
|---|
| 145 | 
 | 
|---|
| 146 | <para>
 | 
|---|
| 147 | <indexterm><primary>domain controller</primary></indexterm>
 | 
|---|
| 148 | <indexterm><primary>backup domain controller</primary></indexterm>
 | 
|---|
| 149 | <indexterm><primary>secondary controller</primary></indexterm>
 | 
|---|
| 150 | <indexterm><primary>domain member</primary></indexterm>
 | 
|---|
| 151 | <indexterm><primary>standalone server</primary></indexterm>
 | 
|---|
| 152 | <indexterm><primary>network security</primary></indexterm>
 | 
|---|
| 153 | <indexterm><primary>domain context</primary></indexterm>
 | 
|---|
| 154 | <indexterm><primary>PDC</primary></indexterm>
 | 
|---|
| 155 | <indexterm><primary>BDCs</primary></indexterm>
 | 
|---|
| 156 | <indexterm><primary>LDAP</primary></indexterm>
 | 
|---|
| 157 | <indexterm><primary>authentication backend</primary></indexterm>
 | 
|---|
| 158 | <indexterm><primary>complex organization</primary></indexterm>
 | 
|---|
| 159 | <indexterm><primary>LDAP database</primary></indexterm>
 | 
|---|
| 160 | <indexterm><primary>master server</primary></indexterm>
 | 
|---|
| 161 | <indexterm><primary>slave servers</primary></indexterm>
 | 
|---|
| 162 | <indexterm><primary>multiple domains</primary></indexterm>
 | 
|---|
| 163 | Samba-3 can be configured as a domain controller, a backup domain controller (probably best called
 | 
|---|
| 164 | a secondary controller), a domain member, or a standalone server. The Windows network security
 | 
|---|
| 165 | domain context should be sized and scoped before implementation. Particular attention needs to be
 | 
|---|
| 166 | paid to the location of the Primary Domain Controller (PDC) as well as backup controllers (BDCs).
 | 
|---|
| 167 | One way in which Samba-3 differs from Microsoft technology is that if one chooses to use an LDAP
 | 
|---|
| 168 | authentication backend, then the same database can be used by several different domains. In a
 | 
|---|
| 169 | complex organization, there can be a single LDAP database, which itself can be distributed (have
 | 
|---|
| 170 | a master server and multiple slave servers) that can simultaneously serve multiple domains.
 | 
|---|
| 171 | </para>
 | 
|---|
| 172 | 
 | 
|---|
| 173 | <para>
 | 
|---|
| 174 | <indexterm><primary>network bandwidth</primary></indexterm>
 | 
|---|
| 175 | From a design perspective, the number of users per server as well as the number of servers per
 | 
|---|
| 176 | domain should be scaled taking into consideration server capacity and network bandwidth.
 | 
|---|
| 177 | </para>
 | 
|---|
| 178 | 
 | 
|---|
| 179 | <para>
 | 
|---|
| 180 | <indexterm><primary>network segment</primary></indexterm>
 | 
|---|
| 181 | <indexterm><primary>multiple network segments</primary></indexterm>
 | 
|---|
| 182 | <indexterm><primary>domain controller</primary></indexterm>
 | 
|---|
| 183 | <indexterm><primary>ping</primary></indexterm>
 | 
|---|
| 184 | <indexterm><primary>BDC</primary></indexterm>
 | 
|---|
| 185 | <indexterm><primary>remote segment</primary></indexterm>
 | 
|---|
| 186 | A physical network segment may house several domains. Each may span multiple network segments.
 | 
|---|
| 187 | Where domains span routed network segments, consider and test the performance implications of
 | 
|---|
| 188 | the design and layout of a network. A centrally located domain controller that is designed to
 | 
|---|
| 189 | serve multiple routed network segments may result in severe performance problems. Check the
 | 
|---|
| 190 | response time (ping timing) between the remote segment and the PDC. If it's long (more than 100 ms),
 | 
|---|
| 191 | locate a BDC on the remote segment to serve as the local authentication and access control server.
 | 
|---|
| 192 | </para>
 | 
|---|
| 193 | </sect3>
 | 
|---|
| 194 | 
 | 
|---|
| 195 | <sect3>
 | 
|---|
| 196 | <title>Server Share and Directory Layout</title>
 | 
|---|
| 197 | 
 | 
|---|
| 198 | <para>
 | 
|---|
| 199 | <indexterm><primary>Simplicity is king</primary></indexterm>
 | 
|---|
| 200 | <indexterm><primary>well-controlled network</primary></indexterm>
 | 
|---|
| 201 | There are cardinal rules to effective network design that cannot be broken with impunity.
 | 
|---|
| 202 | The most important rule: Simplicity is king in every well-controlled network. Every part of
 | 
|---|
| 203 | the infrastructure must be managed; the more complex it is, the greater will be the demand
 | 
|---|
| 204 | of keeping systems secure and functional.
 | 
|---|
| 205 | </para>
 | 
|---|
| 206 | 
 | 
|---|
| 207 | <para>
 | 
|---|
| 208 | <indexterm><primary>disk space</primary></indexterm>
 | 
|---|
| 209 | <indexterm><primary>backed up</primary></indexterm>
 | 
|---|
| 210 | <indexterm><primary>tape</primary></indexterm>
 | 
|---|
| 211 | <indexterm><primary>backup</primary></indexterm>
 | 
|---|
| 212 | <indexterm><primary>validate every backup</primary></indexterm>
 | 
|---|
| 213 | <indexterm><primary>disaster recovery</primary></indexterm>
 | 
|---|
| 214 | Keep in mind the nature of how data must be shared. Physical disk space layout should be considered
 | 
|---|
| 215 | carefully. Some data must be backed up. The simpler the disk layout, the easier it will be to
 | 
|---|
| 216 | keep track of backup needs. Identify what backup media will meet your needs; consider backup to tape,
 | 
|---|
| 217 | CD-ROM or DVD-ROM, or other offline storage medium. Plan and implement for minimum
 | 
|---|
| 218 | maintenance. Leave nothing to chance in your design; above all, do not leave backups to chance:
 | 
|---|
| 219 | backup, test, and validate every backup; create a disaster recovery plan and prove that it works.
 | 
|---|
| 220 | </para>
 | 
|---|
| 221 | 
 | 
|---|
| 222 | <para>
 | 
|---|
| 223 | <indexterm><primary>access control needs</primary></indexterm>
 | 
|---|
| 224 | <indexterm><primary>group permissions</primary></indexterm>
 | 
|---|
| 225 | <indexterm><primary>sticky bit</primary></indexterm>
 | 
|---|
| 226 | Users should be grouped according to data access control needs. File and directory access 
 | 
|---|
| 227 | is best controlled via group permissions, and the use of the <quote>sticky bit</quote> on group-controlled
 | 
|---|
| 228 | directories may substantially avoid file access complaints from Samba share users.
 | 
|---|
| 229 | </para>
 | 
|---|
| 230 | 
 | 
|---|
| 231 | <para>
 | 
|---|
| 232 | <indexterm><primary>network administrators</primary></indexterm>
 | 
|---|
| 233 | <indexterm><primary>document design</primary></indexterm>
 | 
|---|
| 234 | <indexterm><primary>simple access controls</primary></indexterm>
 | 
|---|
| 235 | <indexterm><primary>obtuse complexity</primary></indexterm>
 | 
|---|
| 236 | <indexterm><primary>document design</primary></indexterm>
 | 
|---|
| 237 | Inexperienced  network administrators often attempt elaborate techniques to set access
 | 
|---|
| 238 | controls on files, directories, shares, as well as in share definitions.
 | 
|---|
| 239 | Keep your design and implementation simple and document your design extensively. Have others
 | 
|---|
| 240 | audit your documentation. Do not create a complex mess that your successor will not understand.
 | 
|---|
| 241 | Remember, job security through complex design and implementation may cause loss of operations
 | 
|---|
| 242 | and downtime to users as the new administrator learns to untangle your knots. Keep access
 | 
|---|
| 243 | controls simple and effective, and make sure that users will never be interrupted by obtuse
 | 
|---|
| 244 | complexity.
 | 
|---|
| 245 | </para>
 | 
|---|
| 246 | </sect3>
 | 
|---|
| 247 | 
 | 
|---|
| 248 | <sect3>
 | 
|---|
| 249 | <title>Logon Scripts</title>
 | 
|---|
| 250 | 
 | 
|---|
| 251 | <para>
 | 
|---|
| 252 | <indexterm><primary>Logon scripts</primary></indexterm>
 | 
|---|
| 253 | Logon scripts can help to ensure that all users gain the share and printer connections they need.
 | 
|---|
| 254 | </para>
 | 
|---|
| 255 | 
 | 
|---|
| 256 | <para>
 | 
|---|
| 257 | Logon scripts can be created on the fly so all commands executed are specific to the
 | 
|---|
| 258 | rights and privileges granted to the user. The preferred controls should be effected through
 | 
|---|
| 259 | group membership so group information can be used to create a custom logon script using
 | 
|---|
| 260 | the <smbconfoption name="root preexec"/> parameters to the <smbconfsection name="NETLOGON"/> share.
 | 
|---|
| 261 | </para>
 | 
|---|
| 262 | 
 | 
|---|
| 263 | <para>
 | 
|---|
| 264 | <indexterm><primary>kixstart</primary></indexterm>
 | 
|---|
| 265 | Some sites prefer to use a tool such as <command>kixstart</command> to establish a controlled
 | 
|---|
| 266 | user environment. In any case, you may wish to do a Google search for logon script process controls.
 | 
|---|
| 267 | In particular, you may wish to explore the use of the Microsoft Knowledge Base article KB189105 that
 | 
|---|
| 268 | deals with how to add printers without user intervention via the logon script process.
 | 
|---|
| 269 | </para>
 | 
|---|
| 270 | </sect3>
 | 
|---|
| 271 | 
 | 
|---|
| 272 | <sect3>
 | 
|---|
| 273 | <title>Profile Migration/Creation</title>
 | 
|---|
| 274 | 
 | 
|---|
| 275 | <para>
 | 
|---|
| 276 | User and group profiles may be migrated using the tools described in the section titled Desktop Profile
 | 
|---|
| 277 | Management.
 | 
|---|
| 278 | </para>
 | 
|---|
| 279 | 
 | 
|---|
| 280 | 
 | 
|---|
| 281 | <para>
 | 
|---|
| 282 | <indexterm><primary>SID</primary></indexterm>
 | 
|---|
| 283 | <indexterm><primary>NTuser.DAT</primary></indexterm>
 | 
|---|
| 284 | Profiles may also be managed using the Samba-3 tool <command>profiles</command>. This tool allows the MS
 | 
|---|
| 285 | Windows NT-style security identifiers (SIDs) that are stored inside the profile
 | 
|---|
| 286 | <filename>NTuser.DAT</filename> file to be changed to the SID of the Samba-3 domain.
 | 
|---|
| 287 | </para>
 | 
|---|
| 288 | </sect3>
 | 
|---|
| 289 | 
 | 
|---|
| 290 | <sect3>
 | 
|---|
| 291 | <title>User and Group Accounts</title>
 | 
|---|
| 292 | 
 | 
|---|
| 293 | <para>
 | 
|---|
| 294 | <indexterm><primary>migrate account settings</primary></indexterm>
 | 
|---|
| 295 | <indexterm><primary>migrate user</primary></indexterm>
 | 
|---|
| 296 | <indexterm><primary>migrate group</primary></indexterm>
 | 
|---|
| 297 | <indexterm><primary>map</primary></indexterm>
 | 
|---|
| 298 | It is possible to migrate all account settings from an MS Windows NT4 domain to Samba-3. Before
 | 
|---|
| 299 | attempting to migrate user and group accounts, you are STRONGLY advised to create in Samba-3 the
 | 
|---|
| 300 | groups that are present on the MS Windows NT4 domain <emphasis>AND</emphasis> to map them to
 | 
|---|
| 301 | suitable UNIX/Linux groups. By following this simple advice, all user and group attributes
 | 
|---|
| 302 | should migrate painlessly.
 | 
|---|
| 303 | </para>
 | 
|---|
| 304 | </sect3>
 | 
|---|
| 305 | 
 | 
|---|
| 306 | </sect2>
 | 
|---|
| 307 | 
 | 
|---|
| 308 | <sect2>
 | 
|---|
| 309 | <title>Steps in Migration Process</title>
 | 
|---|
| 310 | 
 | 
|---|
| 311 | <para>
 | 
|---|
| 312 | The approximate migration process is described below.
 | 
|---|
| 313 | </para>
 | 
|---|
| 314 | 
 | 
|---|
| 315 | <itemizedlist>
 | 
|---|
| 316 |         <listitem><para>
 | 
|---|
| 317 |         You have an NT4 PDC that has the users, groups, policies, and profiles to be migrated.
 | 
|---|
| 318 |         </para></listitem>
 | 
|---|
| 319 | 
 | 
|---|
| 320 |         <listitem><para>
 | 
|---|
| 321 | <indexterm><primary>domain controller</primary></indexterm>
 | 
|---|
| 322 | <indexterm><primary>netlogon share</primary></indexterm>
 | 
|---|
| 323 | <indexterm><primary>BDC</primary></indexterm>
 | 
|---|
| 324 |         Samba-3 is set up as a domain controller with netlogon share, profile share, and so on. Configure the &smb.conf; file
 | 
|---|
| 325 |         to function as a BDC: <parameter>domain master = No</parameter>.
 | 
|---|
| 326 |         </para></listitem>
 | 
|---|
| 327 | </itemizedlist>
 | 
|---|
| 328 | 
 | 
|---|
| 329 | <procedure>
 | 
|---|
| 330 | <title>The Account Migration Process</title>
 | 
|---|
| 331 | 
 | 
|---|
| 332 |         <step><para>
 | 
|---|
| 333 |         <indexterm><primary>pdbedit</primary></indexterm>
 | 
|---|
| 334 |         Create a BDC account in the old NT4 domain for the Samba server using NT Server Manager.
 | 
|---|
| 335 |         <emphasis>Samba must not be running.</emphasis>
 | 
|---|
| 336 |         </para></step>
 | 
|---|
| 337 | 
 | 
|---|
| 338 |         <step><para>
 | 
|---|
| 339 |         <indexterm><primary>net</primary><secondary>rpc</secondary><tertiary>join</tertiary></indexterm>
 | 
|---|
| 340 |         <userinput>net rpc join -S <replaceable>NT4PDC</replaceable> -w <replaceable>DOMNAME</replaceable> -U
 | 
|---|
| 341 |         Administrator%<replaceable>passwd</replaceable></userinput>
 | 
|---|
| 342 |         </para></step>
 | 
|---|
| 343 | 
 | 
|---|
| 344 |         <step><para>
 | 
|---|
| 345 | <indexterm><primary>net</primary><secondary>rpc</secondary><tertiary>vampire</tertiary></indexterm>
 | 
|---|
| 346 |         <userinput>net rpc vampire -S <replaceable>NT4PDC</replaceable> -U 
 | 
|---|
| 347 |         administrator%<replaceable>passwd</replaceable></userinput>
 | 
|---|
| 348 |         </para></step>
 | 
|---|
| 349 | 
 | 
|---|
| 350 | <indexterm><primary>pdbedit</primary></indexterm>
 | 
|---|
| 351 |         <step><para><userinput>pdbedit -L</userinput></para>
 | 
|---|
| 352 |                 <para>Note: Did the users migrate?</para>
 | 
|---|
| 353 |         </step>
 | 
|---|
| 354 | 
 | 
|---|
| 355 |         <step><para>
 | 
|---|
| 356 |         <indexterm><primary>net</primary><secondary>groupmap</secondary></indexterm>
 | 
|---|
| 357 |         <indexterm><primary>initGroups.sh</primary></indexterm>
 | 
|---|
| 358 |         Now assign each of the UNIX groups to NT groups:
 | 
|---|
| 359 |         (It may be useful to copy this text to a script called <filename>initGroups.sh</filename>)
 | 
|---|
| 360 |         <programlisting>
 | 
|---|
| 361 | #!/bin/bash
 | 
|---|
| 362 | #### Keep this as a shell script for future re-use
 | 
|---|
| 363 |                         
 | 
|---|
| 364 | # First assign well known domain global groups
 | 
|---|
| 365 | net groupmap add ntgroup="Domain Admins" unixgroup=root rid=512 type=d
 | 
|---|
| 366 | net groupmap add ntgroup="Domain Users"  unixgroup=users rid=513 type=d
 | 
|---|
| 367 | net groupmap add ntgroup="Domain Guests" unixgroup=nobody rid=514 type=d
 | 
|---|
| 368 | 
 | 
|---|
| 369 | # Now for our added domain global groups
 | 
|---|
| 370 | net groupmap add ntgroup="Designers" unixgroup=designers type=d
 | 
|---|
| 371 | net groupmap add ntgroup="Engineers" unixgroup=engineers type=d
 | 
|---|
| 372 | net groupmap add ntgroup="QA Team"   unixgroup=qateam    type=d
 | 
|---|
| 373 | </programlisting>
 | 
|---|
| 374 |         </para></step>
 | 
|---|
| 375 | 
 | 
|---|
| 376 |         <step><para><userinput>net groupmap list</userinput></para>
 | 
|---|
| 377 |                 <para>Check that all groups are recognized.
 | 
|---|
| 378 |         </para></step>
 | 
|---|
| 379 | </procedure>
 | 
|---|
| 380 | 
 | 
|---|
| 381 | <para>
 | 
|---|
| 382 | Migrate all the profiles, then migrate all policy files.
 | 
|---|
| 383 | </para>
 | 
|---|
| 384 | 
 | 
|---|
| 385 | </sect2>
 | 
|---|
| 386 | </sect1>
 | 
|---|
| 387 | 
 | 
|---|
| 388 | <sect1>
 | 
|---|
| 389 | <title>Migration Options</title>
 | 
|---|
| 390 | 
 | 
|---|
| 391 | <para>
 | 
|---|
| 392 | Sites that wish to migrate from MS Windows NT4 domain control to a Samba-based solution
 | 
|---|
| 393 | generally fit into three basic categories. <link linkend="majtypes">Following table</link> shows the possibilities.
 | 
|---|
| 394 | </para>
 | 
|---|
| 395 | 
 | 
|---|
| 396 | <table frame="all" id="majtypes"><title>The Three Major Site Types</title>
 | 
|---|
| 397 | <tgroup cols="2">
 | 
|---|
| 398 |         <colspec align="left"/>
 | 
|---|
| 399 |         <colspec align="justify"/> 
 | 
|---|
| 400 |         <thead>
 | 
|---|
| 401 |         <row><entry>Number of Users</entry><entry>Description</entry></row>
 | 
|---|
| 402 |         </thead>
 | 
|---|
| 403 |         <tbody>
 | 
|---|
| 404 |         <row><entry>< 50</entry><entry><para>Want simple conversion with no pain.</para></entry></row>
 | 
|---|
| 405 |         <row><entry>50 - 250</entry><entry><para>Want new features; can manage some inhouse complexity.</para></entry></row>
 | 
|---|
| 406 |         <row><entry>> 250</entry><entry><para>Solution/implementation must scale well; complex needs.
 | 
|---|
| 407 |                 Cross-departmental decision process. Local expertise in most areas.</para></entry></row>
 | 
|---|
| 408 |         </tbody>
 | 
|---|
| 409 | </tgroup>
 | 
|---|
| 410 | </table>
 | 
|---|
| 411 | 
 | 
|---|
| 412 | <sect2>
 | 
|---|
| 413 | <title>Planning for Success</title>
 | 
|---|
| 414 | 
 | 
|---|
| 415 | <para>
 | 
|---|
| 416 | There are three basic choices for sites that intend to migrate from MS Windows NT4
 | 
|---|
| 417 | to Samba-3:
 | 
|---|
| 418 | </para>
 | 
|---|
| 419 | 
 | 
|---|
| 420 | <itemizedlist>
 | 
|---|
| 421 |         <listitem><para>
 | 
|---|
| 422 |         Simple conversion (total replacement).
 | 
|---|
| 423 |         </para></listitem>
 | 
|---|
| 424 | 
 | 
|---|
| 425 |         <listitem><para>
 | 
|---|
| 426 |         Upgraded conversion (could be one of integration).
 | 
|---|
| 427 |         </para></listitem>
 | 
|---|
| 428 | 
 | 
|---|
| 429 |         <listitem><para>
 | 
|---|
| 430 |         Complete redesign (completely new solution).
 | 
|---|
| 431 |         </para></listitem>
 | 
|---|
| 432 | </itemizedlist>
 | 
|---|
| 433 | 
 | 
|---|
| 434 | <para>
 | 
|---|
| 435 | Minimize downstream problems by:
 | 
|---|
| 436 | </para>
 | 
|---|
| 437 | 
 | 
|---|
| 438 | <itemizedlist>
 | 
|---|
| 439 |         <listitem><para>
 | 
|---|
| 440 |         Taking sufficient time.
 | 
|---|
| 441 |         </para></listitem>
 | 
|---|
| 442 | 
 | 
|---|
| 443 |         <listitem><para>
 | 
|---|
| 444 |         Avoiding panic.
 | 
|---|
| 445 |         </para></listitem>
 | 
|---|
| 446 | 
 | 
|---|
| 447 |         <listitem><para>
 | 
|---|
| 448 |         Testing all assumptions.
 | 
|---|
| 449 |         </para></listitem>
 | 
|---|
| 450 | 
 | 
|---|
| 451 |         <listitem><para>
 | 
|---|
| 452 |         Testing the full roll-out program, including workstation deployment.
 | 
|---|
| 453 |         </para></listitem>
 | 
|---|
| 454 | </itemizedlist>
 | 
|---|
| 455 | 
 | 
|---|
| 456 | <para><link linkend="natconchoices">Following table</link> lists the conversion choices given the type of migration
 | 
|---|
| 457 | being contemplated.
 | 
|---|
| 458 | </para>
 | 
|---|
| 459 | 
 | 
|---|
| 460 | <table frame="all" id="natconchoices"><title>Nature of the Conversion Choices</title>
 | 
|---|
| 461 | <tgroup cols="3">
 | 
|---|
| 462 |         <colspec align="justify" colwidth="1*"/>
 | 
|---|
| 463 |         <colspec align="justify" colwidth="1*"/>
 | 
|---|
| 464 |         <colspec align="justify" colwidth="1*"/>
 | 
|---|
| 465 |         <thead>
 | 
|---|
| 466 |         <row><entry>Simple Install</entry><entry>Upgrade Decisions</entry><entry>Redesign Decisions</entry></row>
 | 
|---|
| 467 |         </thead>
 | 
|---|
| 468 |         <tbody>
 | 
|---|
| 469 |         <row>
 | 
|---|
| 470 |         <entry><para>Make use of minimal OS-specific features</para></entry>
 | 
|---|
| 471 |         <entry><para>Translate NT4 features to new host OS features</para></entry>
 | 
|---|
| 472 |         <entry><para>Improve on NT4 functionality, enhance management capabilities</para></entry>
 | 
|---|
| 473 |         </row>
 | 
|---|
| 474 |         <row>
 | 
|---|
| 475 |         <entry><para>Move all accounts from NT4 into Samba-3</para></entry>
 | 
|---|
| 476 |         <entry><para>Copy and improve</para></entry>
 | 
|---|
| 477 |         <entry><para>Authentication regime (database location and access)</para></entry>
 | 
|---|
| 478 |         </row>
 | 
|---|
| 479 |         <row>
 | 
|---|
| 480 |         <entry><para>Make least number of operational changes</para></entry>
 | 
|---|
| 481 |         <entry><para>Make progressive improvements</para></entry>
 | 
|---|
| 482 |         <entry><para>Desktop management methods</para></entry>
 | 
|---|
| 483 |         </row>
 | 
|---|
| 484 |         <row>
 | 
|---|
| 485 |         <entry><para>Take least amount of time to migrate</para></entry>
 | 
|---|
| 486 |         <entry><para>Minimize user impact</para></entry>
 | 
|---|
| 487 |         <entry><para>Better control of Desktops/Users</para></entry>
 | 
|---|
| 488 |         </row>
 | 
|---|
| 489 |         <row>
 | 
|---|
| 490 |         <entry><para>Live versus isolated conversion</para></entry>
 | 
|---|
| 491 |         <entry><para>Maximize functionality</para></entry>
 | 
|---|
| 492 |         <entry><para>Identify Needs for: <emphasis>Manageability, Scalability, Security, Availability</emphasis></para></entry>
 | 
|---|
| 493 |         </row>
 | 
|---|
| 494 |         <row>
 | 
|---|
| 495 |         <entry><para>Integrate Samba-3, then migrate while users are active, then change of control (swap out)</para></entry>
 | 
|---|
| 496 |         <entry><para>Take advantage of lower maintenance opportunity</para></entry>
 | 
|---|
| 497 |         <entry><para></para></entry>
 | 
|---|
| 498 |         </row>
 | 
|---|
| 499 |         </tbody>
 | 
|---|
| 500 | </tgroup>
 | 
|---|
| 501 | </table>
 | 
|---|
| 502 | </sect2>
 | 
|---|
| 503 | 
 | 
|---|
| 504 | <sect2>
 | 
|---|
| 505 | <title>Samba-3 Implementation Choices</title>
 | 
|---|
| 506 | 
 | 
|---|
| 507 | <variablelist>
 | 
|---|
| 508 |                 <varlistentry><term>Authentication Database/Backend</term><listitem>
 | 
|---|
| 509 |                 <para>
 | 
|---|
| 510 |                 Samba-3 can use an external authentication backend:
 | 
|---|
| 511 |                 </para>
 | 
|---|
| 512 | 
 | 
|---|
| 513 |                 <para>
 | 
|---|
| 514 |                 <itemizedlist>
 | 
|---|
| 515 |                         <listitem><para>Winbind (external Samba or NT4/200x server).</para></listitem>
 | 
|---|
| 516 |                         <listitem><para>External server could use Active Directory or NT4 domain.</para></listitem>
 | 
|---|
| 517 |                         <listitem><para>Can use pam_mkhomedir.so to autocreate home directories.</para></listitem>
 | 
|---|
| 518 |                         <listitem><para> Samba-3 can use a local authentication backend: <parameter>smbpasswd</parameter>,
 | 
|---|
| 519 |                                 <parameter>tdbsam</parameter>, <parameter>ldapsam</parameter>
 | 
|---|
| 520 |                         </para></listitem>
 | 
|---|
| 521 |                 </itemizedlist></para></listitem>
 | 
|---|
| 522 |                 </varlistentry>
 | 
|---|
| 523 | 
 | 
|---|
| 524 |         <varlistentry><term>Access Control Points</term><listitem>
 | 
|---|
| 525 |                 <para>
 | 
|---|
| 526 |                 Samba permits Access Control points to be set:
 | 
|---|
| 527 |                 </para>
 | 
|---|
| 528 | 
 | 
|---|
| 529 | <indexterm><primary>share ACLs</primary></indexterm>
 | 
|---|
| 530 | <indexterm><primary>UNIX permissions</primary></indexterm>
 | 
|---|
| 531 | <indexterm><primary>POSIX ACLS</primary></indexterm>
 | 
|---|
| 532 | <indexterm><primary>share stanza controls</primary></indexterm>
 | 
|---|
| 533 | 
 | 
|---|
| 534 |                 <itemizedlist>
 | 
|---|
| 535 |                         <listitem><para>On the share itself &smbmdash; using share ACLs.</para></listitem>
 | 
|---|
| 536 |                         <listitem><para>On the file system &smbmdash; using UNIX permissions on files and directories.</para>
 | 
|---|
| 537 |                         <para>Note: Can enable Posix ACLs in file system also.</para></listitem>
 | 
|---|
| 538 |                         <listitem><para>Through Samba share parameters &smbmdash; not recommended except as last resort.</para></listitem>
 | 
|---|
| 539 |                 </itemizedlist></listitem>
 | 
|---|
| 540 |         </varlistentry>
 | 
|---|
| 541 | 
 | 
|---|
| 542 |         <varlistentry><term>Policies (migrate or create new ones)</term><listitem>
 | 
|---|
| 543 |                 <para>
 | 
|---|
| 544 | <indexterm><primary>policies</primary></indexterm>
 | 
|---|
| 545 | <indexterm><primary>NTConfig.POL</primary></indexterm>
 | 
|---|
| 546 |                 Exercise great caution when making registry changes; use the right tool and be aware
 | 
|---|
| 547 |                 that changes made through NT4-style <filename>NTConfig.POL</filename> files can leave
 | 
|---|
| 548 |                 permanent changes.
 | 
|---|
| 549 | <indexterm><primary>Group Policy Editor</primary></indexterm>
 | 
|---|
| 550 | <indexterm><primary>tattoo effect</primary></indexterm>
 | 
|---|
| 551 | <indexterm><primary>permanent changes</primary></indexterm>
 | 
|---|
| 552 |                 </para>
 | 
|---|
| 553 |                 <itemizedlist>
 | 
|---|
| 554 |                         <listitem><para>Using Group Policy Editor (NT4).</para></listitem>
 | 
|---|
| 555 |                         <listitem><para>Watch out for tattoo effect.</para></listitem>
 | 
|---|
| 556 |                 </itemizedlist>
 | 
|---|
| 557 |                 </listitem>
 | 
|---|
| 558 |         </varlistentry>
 | 
|---|
| 559 | 
 | 
|---|
| 560 |         <varlistentry><term>User and Group Profiles</term><listitem>
 | 
|---|
| 561 |                 <para>
 | 
|---|
| 562 | <indexterm><primary>NTUser.DAT</primary></indexterm>
 | 
|---|
| 563 | <indexterm><primary>SIDs</primary></indexterm>
 | 
|---|
| 564 |                 Platform-specific, so use platform tool to change from a local to a roaming profile.
 | 
|---|
| 565 |                 Can use new profiles tool to change SIDs (<filename>NTUser.DAT</filename>).
 | 
|---|
| 566 |                 </para>
 | 
|---|
| 567 |                 </listitem>
 | 
|---|
| 568 |         </varlistentry>
 | 
|---|
| 569 | 
 | 
|---|
| 570 |         <varlistentry><term>Logon Scripts</term><listitem>
 | 
|---|
| 571 |                 <para>
 | 
|---|
| 572 |                 Know how they work.
 | 
|---|
| 573 |                 </para>
 | 
|---|
| 574 |                 </listitem>
 | 
|---|
| 575 |         </varlistentry>
 | 
|---|
| 576 | 
 | 
|---|
| 577 | 
 | 
|---|
| 578 |         <varlistentry><term>User and Group Mapping to UNIX/Linux</term><listitem>
 | 
|---|
| 579 |                 <para>
 | 
|---|
| 580 |                 <indexterm><primary>pdbedit</primary></indexterm>
 | 
|---|
| 581 |                 User and group mapping code is new. Many problems have been experienced as network administrators
 | 
|---|
| 582 |                 who are familiar with Samba-2.2.x migrate to Samba-3. Carefully study the chapters that document
 | 
|---|
| 583 |                 the new password backend behavior and the new group mapping functionality.
 | 
|---|
| 584 |                 </para>
 | 
|---|
| 585 |                         <itemizedlist>
 | 
|---|
| 586 |                                 <listitem><para>The <parameter>username map</parameter> facility may be needed.</para></listitem>
 | 
|---|
| 587 |                                 <listitem><para>Use <command>net groupmap</command> to connect NT4 groups to UNIX groups.</para></listitem>
 | 
|---|
| 588 |                                 <listitem><para>
 | 
|---|
| 589 |                                         Use <command>pdbedit</command> to set/change user configuration.
 | 
|---|
| 590 |                                         </para>
 | 
|---|
| 591 | 
 | 
|---|
| 592 |                                         <para>
 | 
|---|
| 593 |                                         When migrating to LDAP backend, it may be easier to dump the initial
 | 
|---|
| 594 |                                         LDAP database to LDIF, edit, then reload into LDAP.
 | 
|---|
| 595 |                                         </para></listitem>
 | 
|---|
| 596 |                         </itemizedlist></listitem>
 | 
|---|
| 597 |         </varlistentry>
 | 
|---|
| 598 | 
 | 
|---|
| 599 |         <varlistentry><term>OS-Specific Scripts/Programs May be Needed</term><listitem>
 | 
|---|
| 600 |                 <para>
 | 
|---|
| 601 |                 Every operating system has its peculiarities. These are the result of engineering decisions
 | 
|---|
| 602 |                 that were based on the experience of the designer and may have side effects that were not
 | 
|---|
| 603 |                 anticipated. Limitations that may bite the Windows network administrator include:
 | 
|---|
| 604 |                 </para>
 | 
|---|
| 605 |                 <itemizedlist>
 | 
|---|
| 606 |                         <listitem><para>Add/Delete Users: Note OS limits on size of name
 | 
|---|
| 607 |                                 (Linux 8 chars, NT4 up to 254 chars).</para></listitem>
 | 
|---|
| 608 |                         <listitem><para>Add/Delete Machines: Applied only to domain members
 | 
|---|
| 609 |                                 (Note: machine names may be limited to 16 characters).</para></listitem>
 | 
|---|
| 610 |                         <listitem><para>Use <command>net groupmap</command> to connect NT4 groups to UNIX groups.</para></listitem>
 | 
|---|
| 611 |                         <listitem><para>Add/Delete Groups: Note OS limits on size and nature.
 | 
|---|
| 612 |                                 Linux limit is 16 char, no spaces, and no uppercase chars (<command>groupadd</command>).</para></listitem>
 | 
|---|
| 613 |                 </itemizedlist></listitem>
 | 
|---|
| 614 |         </varlistentry>
 | 
|---|
| 615 | 
 | 
|---|
| 616 |         <varlistentry><term>Migration Tools</term><listitem>
 | 
|---|
| 617 |                 <para>
 | 
|---|
| 618 |                                 <indexterm><primary>pdbedit</primary></indexterm>
 | 
|---|
| 619 |                                 Domain Control (NT4-Style) Profiles, Policies, Access Controls, Security
 | 
|---|
| 620 |                                 <itemizedlist>
 | 
|---|
| 621 |                                          <listitem><para>Samba: <command>net, rpcclient, smbpasswd, pdbedit, profiles</command></para></listitem>
 | 
|---|
| 622 |                                          <listitem><para>Windows: <command>NT4 Domain User Manager, Server Manager (NEXUS)</command></para></listitem>
 | 
|---|
| 623 |                                 </itemizedlist></para></listitem>
 | 
|---|
| 624 |         </varlistentry>
 | 
|---|
| 625 | </variablelist>
 | 
|---|
| 626 | 
 | 
|---|
| 627 | </sect2>
 | 
|---|
| 628 | 
 | 
|---|
| 629 | </sect1>
 | 
|---|
| 630 | 
 | 
|---|
| 631 | </chapter>
 | 
|---|