From 293421f3c64a2adff7dc15f7ad3adb6120c9fd16 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Wed, 24 Sep 2003 15:05:22 +0000 Subject: syncing up docs, examples, & packaging from 3.0 (This used to be commit dd1348c566b4700ea01bd89639e2d3330c878167) --- docs/htmldocs/upgrading-to-3.0.html | 240 ++++++++++++++++++++---------------- 1 file changed, 132 insertions(+), 108 deletions(-) (limited to 'docs/htmldocs/upgrading-to-3.0.html') diff --git a/docs/htmldocs/upgrading-to-3.0.html b/docs/htmldocs/upgrading-to-3.0.html index e7c1c61234..5106814203 100644 --- a/docs/htmldocs/upgrading-to-3.0.html +++ b/docs/htmldocs/upgrading-to-3.0.html @@ -1,176 +1,200 @@ -Chapter 30. Upgrading from Samba-2.x to Samba-3.0.0

Chapter 30. Upgrading from Samba-2.x to Samba-3.0.0

Jelmer R. Vernooij

The Samba Team

John H. Terpstra

Samba Team

Gerald (Jerry) Carter

Samba Team

June 30, 2003

New Features in Samba-3

-Major new features: +Chapter 30. Upgrading from Samba-2.x to Samba-3.0.0

Chapter 30. Upgrading from Samba-2.x to Samba-3.0.0

Jelmer R. Vernooij

The Samba Team

John H. Terpstra

Samba Team

Gerald (Jerry) Carter

Samba Team

June 30, 2003

+This chapter deals exclusively with the differences between Samba-3.0.0 and Samba-2.2.8a. +It points out where configuration parameters have changed, and provides a simple guide for +the move from 2.2.x to 3.0.0. +

Quick Migration Guide

+Samba-3.0.0 default behavior should be approximately the same as Samba-2.2.x. +The default behavior when the new parameter passdb backend +is not defined in the smb.conf file provides the same default behviour as Samba-2.2.x +with encrypt passwords = Yes, and +will use the smbpasswd database. +

+So why say that behavior should be approximately the same as Samba-2.2.x? Because +Samba-3.0.0 can negotiate new protocols, such as support for native Unicode, that may result in +differing protocol code paths being taken. The new behavior under such circumstances is not +exactly the same as the old one. The good news is that the domain and machine SIDs will be +preserved across the upgrade. +

+If the Samba-2.2.x system was using an LDAP backend, and there is no time to update the LDAP +database, then make sure that passdb backend = ldapsam_compat +is specified in the smb.conf file. For the rest, behavior should remain more or less the same. +At a later date, when there is time to implement a new Samba-3 compatible LDAP backend, it is possible +to migrate the old LDAP database to the new one through use of the pdbedit. +See . +

New Features in Samba-3

+The major new features are:

  1. - Active Directory support. This release is able to join a ADS realm + Active Directory support. This release is able to join an ADS realm as a member server and authenticate users using LDAP/kerberos.

  2. - Unicode support. Samba will now negotiate UNICODE on the wire and - internally there is now a much better infrastructure for multi-byte - and UNICODE character sets. + Unicode support. Samba will now negotiate unicode on the wire and + internally there is a much better infrastructure for multi-byte + and unicode character sets.

  3. New authentication system. The internal authentication system has been almost completely rewritten. Most of the changes are internal, - but the new auth system is also very configurable. + but the new authoring system is also very configurable.

  4. New filename mangling system. The filename mangling system has been completely rewritten. An internal database now stores mangling maps - persistently. This needs lots of testing. + persistently.

  5. - New "net" command. A new "net" command has been added. It is - somewhat similar to the "net" command in windows. Eventually we + New “net” command. A new “net” command has been added. It is + somewhat similar to the “net” command in Windows. Eventually, we plan to replace a bunch of other utilities (such as smbpasswd) - with subcommands in "net", at the moment only a few things are - implemented. + with subcommands in “net”.

  6. Samba now negotiates NT-style status32 codes on the wire. This - improves error handling a lot. + considerably improves error handling.

  7. - Better Windows 2000/XP/2003 printing support including publishing - printer attributes in active directory + Better Windows 200x/XP printing support including publishing + printer attributes in Active Directory.

  8. - New loadable RPC modules + New loadable RPC modules for passdb backends and character sets.

  9. - New dual-daemon winbindd support (-B) for better performance + New default dual-daemon winbindd support for better performance.

  10. Support for migrating from a Windows NT 4.0 domain to a Samba - domain and maintaining user, group and domain SIDs + domain and maintaining user, group and domain SIDs.

  11. Support for establishing trust relationships with Windows NT 4.0 - domain controllers + Domain Controllers.

  12. Initial support for a distributed Winbind architecture using - an LDAP directory for storing SID to uid/gid mappings + an LDAP directory for storing SID to UID/GID mappings.

  13. Major updates to the Samba documentation tree. +

  14. + Full support for client and server SMB signing to ensure + compatibility with default Windows 2003 security settings.

Plus lots of other improvements! -

Configuration Parameter Changes

-This section contains a brief listing of changes to smb.conf options -in the 3.0.0 release. Please refer to the smb.conf(5) man page for +

Configuration Parameter Changes

+This section contains a brief listing of changes to smb.conf options +in the 3.0.0 release. Please refer to the smb.conf(5) man page for complete descriptions of new or modified parameters. -

Removed Parameters

(order alphabetically):

  • admin log

  • alternate permissions

  • character set

  • client codepage

  • code page directory

  • coding system

  • domain admin group

  • domain guest group

  • force unknown acl user

  • nt smb support

  • post script

  • printer driver

  • printer driver file

  • printer driver location

  • status

  • total print jobs

  • use rhosts

  • valid chars

  • vfs options

New Parameters

(new parameters have been grouped by function):

Remote management

  • abort shutdown script

  • shutdown script

User and Group Account Management

  • add group script

  • add machine script

  • add user to group script

  • algorithmic rid base

  • delete group script

  • delete user from group script

  • passdb backend

  • set primary group script

Authentication

  • auth methods

  • ads server

  • realm

Protocol Options

  • client lanman auth

  • client NTLMv2 auth

  • client schannel

  • client signing

  • client use spnego

  • disable netbios

  • ntlm auth

  • paranoid server security

  • server schannel

  • smb ports

  • use spnego

File Service

  • get quota command

  • hide special files

  • hide unwriteable files

  • hostname lookups

  • kernel change notify

  • mangle prefix

  • msdfs proxy

  • set quota command

  • use sendfile

  • vfs objects

Printing

  • max reported print jobs

UNICODE and Character Sets

  • display charset

  • dos charset

  • unicode

  • unix charset

SID to uid/gid Mappings

  • idmap backend

  • idmap gid

  • idmap only

  • idmap uid

LDAP

  • ldap delete dn

  • ldap group suffix

  • ldap idmap suffix

  • ldap machine suffix

  • ldap passwd sync

  • ldap trust ids

  • ldap user suffix

General Configuration

  • preload modules

  • privatedir

Modified Parameters (changes in behavior):

  • encrypt passwords (enabled by default)

  • mangling method (set to 'hash2' by default)

  • passwd chat

  • passwd program

  • restrict anonymous (integer value)

  • security (new 'ads' value)

  • strict locking (enabled by default)

  • winbind cache time (increased to 5 minutes)

  • winbind uid (deprecated in favor of 'idmap uid')

  • winbind gid (deprecated in favor of 'idmap gid')

New Functionality

Databases

+

Removed Parameters

(Ordered Alphabetically):

  • admin log

  • alternate permissions

  • character set

  • client codepage

  • code page directory

  • coding system

  • domain admin group

  • domain guest group

  • force unknown acl user

  • nt smb support

  • post script

  • printer driver

  • printer driver file

  • printer driver location

  • status

  • stip dot

  • total print jobs

  • use rhosts

  • valid chars

  • vfs options

New Parameters

(New parameters have been grouped by function):

Remote Management

  • abort shutdown script

  • shutdown script

User and Group Account Management:

  • add group script

  • add machine script

  • add user to group script

  • algorithmic rid base

  • delete group script

  • delete user from group script

  • passdb backend

  • set primary group script

Authentication:

  • auth methods

  • realm

Protocol Options:

  • client lanman auth

  • client NTLMv2 auth

  • client schannel

  • client signing

  • client use spnego

  • disable netbios

  • ntlm auth

  • paranoid server security

  • server schannel

  • server signing

  • smb ports

  • use spnego

File Service:

  • get quota command

  • hide special files

  • hide unwriteable files

  • hostname lookups

  • kernel change notify

  • mangle prefix

  • map acl inherit

  • msdfs proxy

  • set quota command

  • use sendfile

  • vfs objects

Printing:

  • max reported print jobs

Unicode and Character Sets:

  • display charset

  • dos charset

  • unicode

  • UNIX charset

SID to UID/GID Mappings:

  • idmap backend

  • idmap gid

  • idmap uid

  • winbind enable local accounts

  • winbind trusted domains only

  • template primary group

  • enable rid algorithm

LDAP:

  • ldap delete dn

  • ldap group suffix

  • ldap idmap suffix

  • ldap machine suffix

  • ldap passwd sync

  • ldap trust ids

  • ldap user suffix

General Configuration:

  • preload modules

  • privatedir

Modified Parameters (Changes in Behavior):

  • encrypt passwords (enabled by default)

  • mangling method (set to hash2 by default)

  • passwd chat

  • passwd program

  • password server

  • restrict anonymous (integer value)

  • security (new ads value)

  • strict locking (enabled by default)

  • winbind cache time (increased to 5 minutes)

  • winbind uid (deprecated in favor of idmap uid)

  • winbind gid (deprecated in favor of idmap gid)

New Functionality

Databases

This section contains brief descriptions of any new databases - introduced in Samba 3.0. Please remember to backup your existing - ${lock directory}/*tdb before upgrading to Samba 3.0. Samba will + introduced in Samba-3. Please remember to backup your existing + ${lock directory}/*tdb before upgrading to Samba-3. Samba will upgrade databases as they are opened (if necessary), but downgrading from 3.0 to 2.2 is an unsupported path. -

Table 30.1. TDB File Descriptions

NameDescriptionBackup?
account_policyUser policy settingsyes
gencacheGeneric caching dbno
group_mapping

Mapping table from Windows groups/SID to unix groups

yes
idmap

new ID map table from SIDS to UNIX uids/gids

yes
namecacheName resolution cache entriesno
netlogon_unigrp

Cache of universal group membership obtained when operating - as a member of a Windows domain

no
printing/*.tdb

Cached output from 'lpq command' created on a per print - service basis

no
registry

Read-only samba registry skeleton that provides support for - exporting various db tables via the winreg RPCs

no

Changes in Behavior

- The following issues are known changes in behavior between Samba 2.2 and - Samba 3.0 that may affect certain installations of Samba. +

+ The new tdb files are described in . +

Table 30.1. TDB File Descriptions

NameDescriptionBackup?
account_policyUser policy settingsyes
gencacheGeneric caching dbno
group_mapping

Mapping table from Windows groups/SID to UNIX groups

yes
idmap

new ID map table from SIDS to UNIX UIDs/GIDs

yes
namecacheName resolution cache entriesno
netlogon_unigrp

Cache of universal group membership obtained when operating + as a member of a Windows domain

no
printing/*.tdb

Cached output from `lpq command' created on a per print + service basis

no
registry

Read-only Samba registry skeleton that provides support for + exporting various db tables via the winreg RPCs

no

Changes in Behavior

+ The following issues are known changes in behavior between Samba-2.2 and + Samba-3 that may affect certain installations of Samba.

  1. - When operating as a member of a Windows domain, Samba 2.2 would - map any users authenticated by the remote DC to the 'guest account' - if a uid could not be obtained via the getpwnam() call. Samba 3.0 - rejects the connection as NT_STATUS_LOGON_FAILURE. There is no - current work around to re-establish the 2.2 behavior. + When operating as a member of a Windows domain, Samba-2.2 would + map any users authenticated by the remote DC to the “guest account” + if a uid could not be obtained via the getpwnam() call. Samba-3 + rejects the connection as NT_STATUS_LOGON_FAILURE. There is no + current work around to re-establish the Samba-2.2 behavior.

  2. - When adding machines to a Samba 2.2 controlled domain, the - 'add user script' was used to create the UNIX identity of the - machine trust account. Samba 3.0 introduces a new 'add machine - script' that must be specified for this purpose. Samba 3.0 will - not fall back to using the 'add user script' in the absence of - an 'add machine script' -

Charsets

+ When adding machines to a Samba-2.2 controlled domain, the + “add user script” was used to create the UNIX identity of the + Machine Trust Account. Samba-3 introduces a new “add machine + script” that must be specified for this purpose. Samba-3 will + not fall back to using the “add user script” in the absence of + an “add machine script”. +

Charsets

You might experience problems with special characters when communicating with old DOS - clients. Codepage support has changed in samba 3.0. Read the chapter - Unicode support for details. -

Passdb Backends and Authentication

+ clients. Codepage support has changed in Samba-3. Read , for details. +

Passdb Backends and Authentication

There have been a few new changes that Samba administrators should be - aware of when moving to Samba 3.0. + aware of when moving to Samba-3.

  1. Encrypted passwords have been enabled by default in order to - inter-operate better with out-of-the-box Windows client - installations. This does mean that either (a) a samba account - must be created for each user, or (b) 'encrypt passwords = no' - must be explicitly defined in smb.conf. + interoperate better with out-of-the-box Windows client + installations. This does mean that either (a) a Samba account + must be created for each user, or (b) “encrypt passwords = no” + must be explicitly defined in smb.conf.

  2. - Inclusion of new security = ads option for integration - with an Active Directory domain using the native Windows - Kerberos 5 and LDAP protocols. + Inclusion of new security = ads option for integration + with an Active Directory domain using the native Windows Kerberos 5 and LDAP protocols.

- Samba 3.0 also includes the possibility of setting up chains + Samba-3 also includes the possibility of setting up chains of authentication methods - (auth methods) and account + (auth methods) and account storage backends - (passdb backend). + (passdb backend). Please refer to the smb.conf - man page and the chapter about account information databases for details. While both parameters assume sane default + man page and , for details. While both parameters assume sane default values, it is likely that you will need to understand what the values actually mean in order to ensure Samba operates correctly.

- Certain functions of the smbpasswd(8) tool have been split between the - new smbpasswd(8) utility, the net(8) tool, and the new pdbedit(8) - utility. See the respective man pages for details. -

Charsets

- You might experience problems with special characters when communicating with old DOS - clients. Codepage support has changed in samba 3.0. Read the chapter - Unicode support for details. -

LDAP

- This section outlines the new features affecting Samba / LDAP integration. -

New Schema

+ + Certain functions of the smbpasswd tool have been split between the + new smbpasswd utility, the net tool and the new pdbedit + utility. See the respective man pages for details. +

LDAP

+ This section outlines the new features effecting Samba/LDAP integration. +

New Schema

A new object class (sambaSamAccount) has been introduced to replace - the old sambaAccount. This change aids us in the renaming of attributes - to prevent clashes with attributes from other vendors. There is a - conversion script (examples/LDAP/convertSambaAccount) to modify and LDIF + the old sambaAccount. This change aids us in the renaming of attributes + to prevent clashes with attributes from other vendors. There is a + conversion script (examples/LDAP/convertSambaAccount) to modify an LDIF file to the new schema.

- Example: + Example:

-		$ ldapsearch .... -b "ou=people,dc=..." > old.ldif
+		$ ldapsearch .... -b "ou=people,dc=..." > old.ldif
 		$ convertSambaAccount <DOM SID> old.ldif new.ldif
 		

- The <DOM SID> can be obtained by running 'net getlocalsid <DOMAINNAME> + The <DOM SID> can be obtained by running +

+$ net getlocalsid <DOMAINNAME>
+

on the Samba PDC as root.

The old sambaAccount schema may still be used by specifying the - "ldapsam_compat" passdb backend. However, the sambaAccount and + ldapsam_compat passdb backend. However, the sambaAccount and associated attributes have been moved to the historical section of the schema file and must be uncommented before use if needed. - The 2.2 object class declaration for a sambaAccount has not changed - in the 3.0 samba.schema file. + The Samba-2.2 object class declaration for a sambaAccount has not changed + in the Samba-3 samba.schema file.

Other new object classes and their uses include:

  • - sambaDomain - domain information used to allocate rids - for users and groups as necessary. The attributes are added - in 'ldap suffix' directory entry automatically if - an idmap uid/gid range has been set and the 'ldapsam' + sambaDomain domain information used to allocate RIDs + for users and groups as necessary. The attributes are added + in “ldap suffix” directory entry automatically if + an idmap UID/GID range has been set and the “ldapsam” passdb backend has been selected.

  • - sambaGroupMapping - an object representing the + sambaGroupMapping an object representing the relationship between a posixGroup and a Windows - group/SID. These entries are stored in the 'ldap - group suffix' and managed by the 'net groupmap' command. + group/SID. These entries are stored in the “ldap + group suffix” and managed by the “net groupmap” command.

  • - sambaUnixIdPool - created in the 'ldap idmap suffix' entry - automatically and contains the next available 'idmap uid' and - 'idmap gid' + sambaUNIXIdPool created in the “ldap idmap suffix” entry + automatically and contains the next available “idmap UID” and + “idmap GID”.

  • - sambaIdmapEntry - object storing a mapping between a - SID and a UNIX uid/gid. These objects are created by the + sambaIdmapEntry object storing a mapping between a + SID and a UNIX UID/GID. These objects are created by the idmap_ldap module as needed. -

New Suffix for Searching

+

New Suffix for Searching

The following new smb.conf parameters have been added to aid in directing - certain LDAP queries when 'passdb backend = ldapsam://...' has been + certain LDAP queries when passdb backend = ldapsam://... has been specified. -

  • ldap suffix - used to search for user and computer accounts

  • ldap user suffix - used to store user accounts

  • ldap machine suffix - used to store machine trust accounts

  • ldap group suffix - location of posixGroup/sambaGroupMapping entries

  • ldap idmap suffix - location of sambaIdmapEntry objects

- If an 'ldap suffix' is defined, it will be appended to all of the - remaining sub-suffix parameters. In this case, the order of the suffix - listings in smb.conf is important. Always place the 'ldap suffix' first +

  • ldap suffix used to search for user and computer accounts.

  • ldap user suffix used to store user accounts.

  • ldap machine suffix used to store Machine Trust Accounts.

  • ldap group suffix location of posixGroup/sambaGroupMapping entries.

  • ldap idmap suffix location of sambaIdmapEntry objects.

+ If an ldap suffix is defined, it will be appended to all of the + remaining sub-suffix parameters. In this case, the order of the suffix + listings in smb.conf is important. Always place the ldap suffix first in the list.

- Due to a limitation in Samba's smb.conf parsing, you should not surround - the DN's with quotation marks. -

IdMap LDAP support

- Samba 3.0 supports an ldap backend for the idmap subsystem. The - following options would inform Samba that the idmap table should be - stored on the directory server onterose in the "ou=idmap,dc=plainjoe, - dc=org" partition. -

[global]
...
idmap backend = ldap:ldap://onterose/
ldap idmap suffix = ou=idmap,dc=plainjoe,dc=org
idmap uid = 40000-50000
idmap gid = 40000-50000

- This configuration allows winbind installations on multiple servers to - share a uid/gid number space, thus avoiding the interoperability problems - with NFS that were present in Samba 2.2. -

+ Due to a limitation in Samba's smb.conf parsing, you should not surround + the DNs with quotation marks. +

IdMap LDAP Support

+ Samba-3 supports an ldap backend for the idmap subsystem. The + following options inform Samba that the idmap table should be + stored on the directory server onterose in the "ou=idmap,dc=quenya,dc=org" partition. +

[global]
...
idmap backend = ldap:ldap://onterose/
ldap idmap suffix = ou=idmap,dc=quenya,dc=org
idmap uid = 40000-50000
idmap gid = 40000-50000

+ This configuration allows Winbind installations on multiple servers to + share a UID/GID number space, thus avoiding the interoperability problems + with NFS that were present in Samba-2.2. +

-- cgit