docs: Remove old docs.
authorKarolin Seeger <kseeger@samba.org>
Fri, 5 May 2017 09:02:28 +0000 (11:02 +0200)
committerVolker Lendecke <vl@samba.org>
Thu, 11 May 2017 17:37:37 +0000 (19:37 +0200)
This does not yet remove the Makefile rules for the removed xml, someone
with better make-fu should step in here.

Signed-off-by: Karolin Seeger <kseeger@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Thu May 11 19:37:37 CEST 2017 on sn-devel-144

310 files changed:
docs-xml/Samba3-ByExample/SBE-2000UserNetwork.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-500UserNetwork.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-AddingUNIXClients.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-Appendix1.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-Appendix2.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-DomainAppsSupport.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-HighAvailability.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-MakingHappyUsers.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-MigrateNT4Samba3.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-MigrateNW4Samba3.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-SecureOfficeServer.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-SimpleOfficeServer.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-Support.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-TheSmallOffice.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-UpgradingSamba.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-acknowledgements.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-foreword.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-front-matter.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-glossary.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-inside-cover.xml [deleted file]
docs-xml/Samba3-ByExample/SBE-preface.xml [deleted file]
docs-xml/Samba3-ByExample/conventions.xml [deleted file]
docs-xml/Samba3-ByExample/gpl-3.0.xml [deleted file]
docs-xml/Samba3-ByExample/gpl.xml [deleted file]
docs-xml/Samba3-ByExample/images/AccountingNetwork.svg [deleted file]
docs-xml/Samba3-ByExample/images/Charity-Network.svg [deleted file]
docs-xml/Samba3-ByExample/images/Domain-WorkgroupAnnouncement.png [deleted file]
docs-xml/Samba3-ByExample/images/HostAnnouncment.png [deleted file]
docs-xml/Samba3-ByExample/images/LocalMasterAnnouncement.png [deleted file]
docs-xml/Samba3-ByExample/images/NullConnect.png [deleted file]
docs-xml/Samba3-ByExample/images/UNIX-Samba-and-LDAP.svg [deleted file]
docs-xml/Samba3-ByExample/images/UserConnect.png [deleted file]
docs-xml/Samba3-ByExample/images/UserMgrNT4.png [deleted file]
docs-xml/Samba3-ByExample/images/WINREPRESSME-Capture.png [deleted file]
docs-xml/Samba3-ByExample/images/WINREPRESSME-Capture2.png [deleted file]
docs-xml/Samba3-ByExample/images/Windows-ME-WINEPRESSME-Startup-30min-ProtocolStats.png [deleted file]
docs-xml/Samba3-ByExample/images/Windows-ME-WINEPRESSME-Startup-30min-TraceStats.png [deleted file]
docs-xml/Samba3-ByExample/images/WindowsXP-NullConnection.png [deleted file]
docs-xml/Samba3-ByExample/images/WindowsXP-UserConnection.png [deleted file]
docs-xml/Samba3-ByExample/images/XP-screen001.png [deleted file]
docs-xml/Samba3-ByExample/images/acct2net.svg [deleted file]
docs-xml/Samba3-ByExample/images/ch7-dual-additive-LDAP-Ok.svg [deleted file]
docs-xml/Samba3-ByExample/images/ch7-dual-additive-LDAP.svg [deleted file]
docs-xml/Samba3-ByExample/images/ch7-fail-overLDAP.svg [deleted file]
docs-xml/Samba3-ByExample/images/ch7-singleLDAP.svg [deleted file]
docs-xml/Samba3-ByExample/images/ch8-migration.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap4-net.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap5-net.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap6-net.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap7-idresol.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap7-net-A.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap7-net-Ar.png [deleted file]
docs-xml/Samba3-ByExample/images/chap7-net.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap7-net2-B.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap7-net2-Br.png [deleted file]
docs-xml/Samba3-ByExample/images/chap7-net2.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap7-net2r.png [deleted file]
docs-xml/Samba3-ByExample/images/chap7-netr.png [deleted file]
docs-xml/Samba3-ByExample/images/chap9-ADSDC.svg [deleted file]
docs-xml/Samba3-ByExample/images/chap9-SambaDC.svg [deleted file]
docs-xml/Samba3-ByExample/images/imc-usermanager2.png [deleted file]
docs-xml/Samba3-ByExample/images/lam-config.png [deleted file]
docs-xml/Samba3-ByExample/images/lam-group-members.png [deleted file]
docs-xml/Samba3-ByExample/images/lam-groups.png [deleted file]
docs-xml/Samba3-ByExample/images/lam-hosts.png [deleted file]
docs-xml/Samba3-ByExample/images/lam-login.png [deleted file]
docs-xml/Samba3-ByExample/images/lam-users.png [deleted file]
docs-xml/Samba3-ByExample/images/openmag.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp001.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp004.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp006.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp007.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp008.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp010.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp011.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp012.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp013.png [deleted file]
docs-xml/Samba3-ByExample/images/wxpp015.png [deleted file]
docs-xml/Samba3-ByExample/index.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-AccessControls.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-AdvancedNetworkAdmin.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-BDC.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Backup.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Bugs.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-CUPS-printing.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-ChangeNotes.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Compiling.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-ConfigSmarts.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-DNS-DHCP-Configuration.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Diagnosis.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-DomainMember.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-FastStart.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Further-Resources.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Group-Mapping.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-IDMAP.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Install.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Integrating-with-Windows.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-InterdomainTrusts.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-IntroSMB.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-LargeFile.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-NT4Migration.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-NetworkBrowsing.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-PAM.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-PDC.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Passdb.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-PolicyMgmt.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Printing.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Problems.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-ProfileMgmt.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-RightsAndPriviliges.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-SecureLDAP.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Securing.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-ServerType.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-StandAloneServer.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Support.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-TDBFiles.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-TheNetCommand.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Unicode.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-VFS.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-Winbind.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-WindowsClientConfig.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-foreword-cargill.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-foreword-tridge.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-glossary.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-inside-cover.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-locking.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-msdfs.xml [deleted file]
docs-xml/Samba3-HOWTO/TOSHARG-preface.xml [deleted file]
docs-xml/Samba3-HOWTO/conventions.xml [deleted file]
docs-xml/Samba3-HOWTO/gpl-3.0.xml [deleted file]
docs-xml/Samba3-HOWTO/hitlist-content [deleted file]
docs-xml/Samba3-HOWTO/images/10small.png [deleted file]
docs-xml/Samba3-HOWTO/images/11small.png [deleted file]
docs-xml/Samba3-HOWTO/images/12small.png [deleted file]
docs-xml/Samba3-HOWTO/images/13small.png [deleted file]
docs-xml/Samba3-HOWTO/images/14small.png [deleted file]
docs-xml/Samba3-HOWTO/images/1small.png [deleted file]
docs-xml/Samba3-HOWTO/images/2small.png [deleted file]
docs-xml/Samba3-HOWTO/images/3small.png [deleted file]
docs-xml/Samba3-HOWTO/images/4small.png [deleted file]
docs-xml/Samba3-HOWTO/images/5small.png [deleted file]
docs-xml/Samba3-HOWTO/images/6small.png [deleted file]
docs-xml/Samba3-HOWTO/images/7small.png [deleted file]
docs-xml/Samba3-HOWTO/images/8small.png [deleted file]
docs-xml/Samba3-HOWTO/images/9small.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME001.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME002.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME003.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME004.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME005.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME006.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME007.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME008.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME009.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME010.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME011.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME012.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME013.png [deleted file]
docs-xml/Samba3-HOWTO/images/WME014.png [deleted file]
docs-xml/Samba3-HOWTO/images/WXPP002.png [deleted file]
docs-xml/Samba3-HOWTO/images/WXPP003.png [deleted file]
docs-xml/Samba3-HOWTO/images/WXPP005.png [deleted file]
docs-xml/Samba3-HOWTO/images/WXPP009.png [deleted file]
docs-xml/Samba3-HOWTO/images/WXPP014.png [deleted file]
docs-xml/Samba3-HOWTO/images/a_small.png [deleted file]
docs-xml/Samba3-HOWTO/images/access1.svg [deleted file]
docs-xml/Samba3-HOWTO/images/browsing1.svg [deleted file]
docs-xml/Samba3-HOWTO/images/cups1.svg [deleted file]
docs-xml/Samba3-HOWTO/images/cups2.svg [deleted file]
docs-xml/Samba3-HOWTO/images/domain.svg [deleted file]
docs-xml/Samba3-HOWTO/images/ethereal1.png [deleted file]
docs-xml/Samba3-HOWTO/images/ethereal2.png [deleted file]
docs-xml/Samba3-HOWTO/images/idmap-gid2sid.svg [deleted file]
docs-xml/Samba3-HOWTO/images/idmap-groups.svg [deleted file]
docs-xml/Samba3-HOWTO/images/idmap-sid2gid.svg [deleted file]
docs-xml/Samba3-HOWTO/images/idmap-sid2uid.svg [deleted file]
docs-xml/Samba3-HOWTO/images/idmap-store-gid2sid.svg [deleted file]
docs-xml/Samba3-HOWTO/images/idmap-uid2sid.svg [deleted file]
docs-xml/Samba3-HOWTO/images/idmap.svg [deleted file]
docs-xml/Samba3-HOWTO/images/idmap_winbind_no_loop.png [deleted file]
docs-xml/Samba3-HOWTO/images/pdftoepsonusb.svg [deleted file]
docs-xml/Samba3-HOWTO/images/pdftosocket.svg [deleted file]
docs-xml/Samba3-HOWTO/images/trusts1.svg [deleted file]
docs-xml/Samba3-HOWTO/images/w2kp001.png [deleted file]
docs-xml/Samba3-HOWTO/images/w2kp002.png [deleted file]
docs-xml/Samba3-HOWTO/images/w2kp003.png [deleted file]
docs-xml/Samba3-HOWTO/images/w2kp004.png [deleted file]
docs-xml/Samba3-HOWTO/images/w2kp005.png [deleted file]
docs-xml/Samba3-HOWTO/images/w2kp006.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp001.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp004.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp006.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp007.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp008.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp010.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp011.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp012.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp013.png [deleted file]
docs-xml/Samba3-HOWTO/images/wxpp015.png [deleted file]
docs-xml/Samba3-HOWTO/index.xml [deleted file]
docs-xml/Samba3-HOWTO/manpages.xml [deleted file]
docs-xml/using_samba/appa.xml [deleted file]
docs-xml/using_samba/appb.xml [deleted file]
docs-xml/using_samba/appc.xml [deleted file]
docs-xml/using_samba/appd.xml [deleted file]
docs-xml/using_samba/appe.xml [deleted file]
docs-xml/using_samba/appf.xml [deleted file]
docs-xml/using_samba/book.xml [deleted file]
docs-xml/using_samba/ch00.xml [deleted file]
docs-xml/using_samba/ch01.xml [deleted file]
docs-xml/using_samba/ch02.xml [deleted file]
docs-xml/using_samba/ch03.xml [deleted file]
docs-xml/using_samba/ch04.xml [deleted file]
docs-xml/using_samba/ch05.xml [deleted file]
docs-xml/using_samba/ch06.xml [deleted file]
docs-xml/using_samba/ch07.xml [deleted file]
docs-xml/using_samba/ch08.xml [deleted file]
docs-xml/using_samba/ch09.xml [deleted file]
docs-xml/using_samba/colo1.xml [deleted file]
docs-xml/using_samba/copy.xml [deleted file]
docs-xml/using_samba/figs/sam.0101.gif [deleted file]
docs-xml/using_samba/figs/sam.0102.gif [deleted file]
docs-xml/using_samba/figs/sam.0103.gif [deleted file]
docs-xml/using_samba/figs/sam.0104.gif [deleted file]
docs-xml/using_samba/figs/sam.0105.gif [deleted file]
docs-xml/using_samba/figs/sam.0106.gif [deleted file]
docs-xml/using_samba/figs/sam.0107.gif [deleted file]
docs-xml/using_samba/figs/sam.0108.gif [deleted file]
docs-xml/using_samba/figs/sam.0109.gif [deleted file]
docs-xml/using_samba/figs/sam.0110.gif [deleted file]
docs-xml/using_samba/figs/sam.0111.gif [deleted file]
docs-xml/using_samba/figs/sam.0112.gif [deleted file]
docs-xml/using_samba/figs/sam.0113.gif [deleted file]
docs-xml/using_samba/figs/sam.0114.gif [deleted file]
docs-xml/using_samba/figs/sam.0201.gif [deleted file]
docs-xml/using_samba/figs/sam.0202.gif [deleted file]
docs-xml/using_samba/figs/sam.0203.gif [deleted file]
docs-xml/using_samba/figs/sam.0204.gif [deleted file]
docs-xml/using_samba/figs/sam.0301.gif [deleted file]
docs-xml/using_samba/figs/sam.0302.gif [deleted file]
docs-xml/using_samba/figs/sam.0303.gif [deleted file]
docs-xml/using_samba/figs/sam.0304.gif [deleted file]
docs-xml/using_samba/figs/sam.0305.gif [deleted file]
docs-xml/using_samba/figs/sam.0306.gif [deleted file]
docs-xml/using_samba/figs/sam.0307.gif [deleted file]
docs-xml/using_samba/figs/sam.0308.gif [deleted file]
docs-xml/using_samba/figs/sam.0309.gif [deleted file]
docs-xml/using_samba/figs/sam.0310.gif [deleted file]
docs-xml/using_samba/figs/sam.0311.gif [deleted file]
docs-xml/using_samba/figs/sam.0312.gif [deleted file]
docs-xml/using_samba/figs/sam.0313.gif [deleted file]
docs-xml/using_samba/figs/sam.0314.gif [deleted file]
docs-xml/using_samba/figs/sam.0315.gif [deleted file]
docs-xml/using_samba/figs/sam.0316.gif [deleted file]
docs-xml/using_samba/figs/sam.0317.gif [deleted file]
docs-xml/using_samba/figs/sam.0318.gif [deleted file]
docs-xml/using_samba/figs/sam.0319.gif [deleted file]
docs-xml/using_samba/figs/sam.0320.gif [deleted file]
docs-xml/using_samba/figs/sam.0321.gif [deleted file]
docs-xml/using_samba/figs/sam.0322.gif [deleted file]
docs-xml/using_samba/figs/sam.0323.gif [deleted file]
docs-xml/using_samba/figs/sam.0324.gif [deleted file]
docs-xml/using_samba/figs/sam.0325.gif [deleted file]
docs-xml/using_samba/figs/sam.0326.gif [deleted file]
docs-xml/using_samba/figs/sam.0327.gif [deleted file]
docs-xml/using_samba/figs/sam.0328.gif [deleted file]
docs-xml/using_samba/figs/sam.0401.gif [deleted file]
docs-xml/using_samba/figs/sam.0402.gif [deleted file]
docs-xml/using_samba/figs/sam.0403.gif [deleted file]
docs-xml/using_samba/figs/sam.0404.gif [deleted file]
docs-xml/using_samba/figs/sam.0405.gif [deleted file]
docs-xml/using_samba/figs/sam.0406.gif [deleted file]
docs-xml/using_samba/figs/sam.0407.gif [deleted file]
docs-xml/using_samba/figs/sam.0501.gif [deleted file]
docs-xml/using_samba/figs/sam.0502.gif [deleted file]
docs-xml/using_samba/figs/sam.0503.gif [deleted file]
docs-xml/using_samba/figs/sam.0504.gif [deleted file]
docs-xml/using_samba/figs/sam.0505.gif [deleted file]
docs-xml/using_samba/figs/sam.0506.gif [deleted file]
docs-xml/using_samba/figs/sam.0507.gif [deleted file]
docs-xml/using_samba/figs/sam.0508.gif [deleted file]
docs-xml/using_samba/figs/sam.0601.gif [deleted file]
docs-xml/using_samba/figs/sam.0602.gif [deleted file]
docs-xml/using_samba/figs/sam.0603.gif [deleted file]
docs-xml/using_samba/figs/sam.0604.gif [deleted file]
docs-xml/using_samba/figs/sam.0605.gif [deleted file]
docs-xml/using_samba/figs/sam.0606.gif [deleted file]
docs-xml/using_samba/figs/sam.0701.gif [deleted file]
docs-xml/using_samba/figs/sam.0702.gif [deleted file]
docs-xml/using_samba/figs/sam.0703.gif [deleted file]
docs-xml/using_samba/figs/sam.0704.gif [deleted file]
docs-xml/using_samba/figs/sam.0705.gif [deleted file]
docs-xml/using_samba/figs/sam.0706.gif [deleted file]
docs-xml/using_samba/figs/sam.0707.gif [deleted file]
docs-xml/using_samba/figs/sam.0708.gif [deleted file]
docs-xml/using_samba/figs/sam.0709.gif [deleted file]
docs-xml/using_samba/figs/sam.0801.gif [deleted file]
docs-xml/using_samba/figs/sam.0802.gif [deleted file]
docs-xml/using_samba/figs/sam.0803.gif [deleted file]
docs-xml/using_samba/figs/sam.0804.gif [deleted file]
docs-xml/using_samba/figs/sam.0805.gif [deleted file]
docs-xml/using_samba/figs/sam.0901.gif [deleted file]
docs-xml/using_samba/figs/sam.0902.gif [deleted file]
docs-xml/using_samba/figs/sam.0903.gif [deleted file]
docs-xml/using_samba/figs/sam.0904.gif [deleted file]
docs-xml/using_samba/figs/sam.0905.gif [deleted file]
docs-xml/using_samba/figs/sam.aa01.gif [deleted file]
docs-xml/using_samba/figs/sam.ab01.gif [deleted file]
docs-xml/using_samba/figs/sam.ab02.gif [deleted file]
docs-xml/using_samba/metadata.xml [deleted file]

diff --git a/docs-xml/Samba3-ByExample/SBE-2000UserNetwork.xml b/docs-xml/Samba3-ByExample/SBE-2000UserNetwork.xml
deleted file mode 100644 (file)
index cfd6981..0000000
+++ /dev/null
@@ -1,1590 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
-<chapter id="net2000users">
-  <title>A Distributed 2000-User Network</title>
-
-<para>
-There is something indeed mystical about things that are
-big. Large networks exhibit a certain magnetism and exude a sense of
-importance that obscures reality. You and I know that it is no more
-difficult to secure a large network than it is a small one. We all
-know that over and above a particular number of network clients, the
-rules no longer change; the only real dynamic is the size of the domain
-(much like a kingdom) over which the network ruler (oops, administrator)
-has control. The real dynamic then transforms from the technical to the
-political. Then again, that point is often reached well before the
-kingdom (or queendom) grows large.
-</para>
-
-<para>
-If you have systematically worked your way to this chapter, hopefully you
-have found some gems and techniques that are applicable in your
-world. The network designs you have worked with in this book have their
-strong points as well as weak ones. That is to be expected given that
-they are based on real business environments, the specifics of which are
-molded to serve the purposes of this book.
-</para>
-
-<para>
-This chapter is intent on wrapping up issues that are central to
-implementation and design of progressively larger networks. Are you ready
-for this chapter? Good, it is time to move on.
-</para>
-
-<para>
-In previous chapters, you made the assumption that your network
-administration staff need detailed instruction right down to the
-nuts and bolts of implementing the solution. That is still the case,
-but they have graduated now. You decide to document only those issues,
-methods, and techniques that are new or complex. Routine tasks such as
-implementing a DNS or a DHCP server are under control. Even the basics of
-Samba are largely under control. So in this section you focus on the
-specifics of implementing LDAP changes, Samba changes, and approach and
-design of the solution and its deployment.
-</para>
-
-<sect1>
-<title>Introduction</title>
-
-<para>
-Abmas is a miracle company. Most businesses would have collapsed under
-the weight of rapid expansion that this company has experienced. Samba 
-is flexible, so there is no need to reinstall the whole operating 
-system just because you need to implement a new network design. In fact, 
-you can keep an old server running right up to the moment of cutover 
-and then do a near-live conversion. There is no need to reinstall a 
-Samba server just to change the way your network should function.
-</para>
-
-<para>
-<indexterm><primary>LDAP</primary></indexterm>
-Network growth is common to all organizations. In this exercise,
-your preoccupation is with the mechanics of implementing Samba and
-LDAP so that network users on each network segment can work
-without impediment.
-</para>
-
-       <sect2>
-       <title>Assignment Tasks</title>
-
-       <para>
-       Starting with the configuration files for the server called
-       <constant>MASSIVE</constant> in <link linkend="happy"/>, you now deal with the
-       issues that are particular to large distributed networks. Your task
-       is simple &smbmdash; identify the challenges, consider the 
-       alternatives, and then design and implement a solution.
-       </para>
-
-       <para>
-       <indexterm><primary>VPN</primary></indexterm>
-       Remember, you have users based in London (UK), Los Angeles,
-       Washington. DC, and, three buildings in New York. A significant portion
-       of your workforce have notebook computers and roam all over the
-       world. Some dial into the office, others use VPN connections over the
-       Internet, and others just move between buildings.i
-       </para>
-
-       <para>
-       What do you say to an employee who normally uses a desktop
-       system but must spend six weeks on the road with a notebook computer?
-       She is concerned about email access and how to keep coworkers current
-       with changing documents.
-       </para>
-
-               <para>
-       To top it all off, you have one network support person and one 
-       help desk person based in London, a single person dedicated to all 
-       network operations in Los Angeles, five staff for user administration 
-       and help desk in New York, plus one <emphasis>floater</emphasis> for 
-       Washington.
-       </para>
-
-               <para>
-       You have outsourced all desktop deployment and management to
-       DirectPointe. Your concern is server maintenance and third-level
-       support. Build a plan and show what must be done.
-       </para>
-
-       </sect2>
-</sect1>
-
-<sect1>
-<title>Dissection and Discussion</title>
-
-<para>
-<indexterm><primary>passdb backend</primary></indexterm>
-<indexterm><primary>LDAP</primary></indexterm>
-In <link linkend="happy"/>, you implemented an LDAP server that provided the
-<parameter>passdb backend</parameter> for the Samba servers. You
-explored ways to accelerate Windows desktop profile handling and you
-took control of network performance.
-</para>
-
-<para>
-<indexterm><primary>ldapsam</primary></indexterm>
-<indexterm><primary>tdbsam</primary></indexterm>
-<indexterm><primary>smbpasswd</primary></indexterm>
-<indexterm><primary>replicated</primary></indexterm>
-The implementation of an LDAP-based passdb backend (known as
-<emphasis>ldapsam</emphasis> in Samba parlance), or some form of database
-that can be distributed, is essential to permit the deployment of Samba
-Primary and Backup Domain Controllers (PDC/BDCs). You see, the problem
-is that the <emphasis>tdbsam</emphasis>-style passdb backend does not
-lend itself to being replicated. The older plain-text-based
-<emphasis>smbpasswd</emphasis>-style passdb backend can be replicated
-using a tool such as <command>rsync</command>, but
-<emphasis>smbpasswd</emphasis> suffers the drawback that it does not
-support the range of account facilities demanded by modern network
-managers.
-</para>
-
-<para>
-<indexterm><primary>XML</primary></indexterm>
-<indexterm><primary>SQL</primary></indexterm>
-The new <emphasis>tdbsam</emphasis> facility supports functionality
-that is similar to an <emphasis>ldapsam</emphasis>, but the lack of
-distributed infrastructure sorely limits the scope for its
-deployment. This raises the following questions: Why can't I just use
-an XML-based backend, or for that matter, why not use an SQL-based
-backend? Is support for these tools broken? Answers to these
-questions require a bit of background.</para>
-
-<para>
-<indexterm><primary>directory</primary></indexterm>
-<indexterm><primary>database</primary></indexterm>
-<indexterm><primary>transaction processing</primary></indexterm>
-<indexterm><primary>LDAP</primary></indexterm>
-<emphasis>What is a directory?</emphasis> A directory is a
-collection of information regarding objects that can be accessed to
-rapidly find information that is relevant in a particular and
-consistent manner. A directory differs from a database in that it is
-generally more often searched (read) than updated. As a consequence, the
-information is organized to facilitate read access rather than to
-support transaction processing.</para>
-
-<para>
-<indexterm><primary>Lightweight Directory Access Protocol</primary><see>LDAP</see></indexterm>
-<indexterm><primary>LDAP</primary></indexterm>
-<indexterm><primary>master</primary></indexterm>
-<indexterm><primary>slave</primary></indexterm>
-The Lightweight Directory Access Protocol (LDAP) differs
-considerably from a traditional database. It has a simple search
-facility that uniquely makes a highly preferred mechanism for managing
-user identities. LDAP provides a scalable mechanism for distributing
-the data repository and for keeping all copies (slaves) in sync with
-the master repository.</para>
-
-<para>
-<indexterm><primary>identity management</primary></indexterm>
-<indexterm><primary>Active Directory</primary></indexterm>
-<indexterm><primary>OpenLDAP</primary></indexterm>
-Samba is a flexible and powerful file and print sharing
-technology. It can use many external authentication sources and can be
-part of a total authentication and identity management
-infrastructure. The two most important external sources for large sites
-are Microsoft Active Directory and LDAP. Sites that specifically wish to
-avoid the proprietary implications of Microsoft Active Directory
-naturally gravitate toward OpenLDAP.</para>
-
-<para>
-<indexterm><primary>network</primary><secondary>routed</secondary></indexterm>
-In <link linkend="happy"/>, you had to deal with a locally routed
-network. All deployment concerns focused around making users happy,
-and that simply means taking control over all network practices and
-usage so that no one user is disadvantaged by any other. The real
-lesson is one of understanding that no matter how much network
-bandwidth you provide, bandwidth remains a precious resource.</para>
-
-<para>In this chapter, you must now consider how the overall network must
-function. In particular, you must be concerned with users who move
-between offices. You must take into account the way users need to
-access information globally. And you must make the network robust
-enough so that it can sustain partial breakdown without causing loss of
-productivity.</para>
-
-       <sect2>
-       <title>Technical Issues</title>
-
-       <para>
-       There are at least three areas that need to be addressed as you
-       approach the challenge of designing a network solution for the newly
-       expanded business:
-       </para>
-
-       <itemizedlist>
-               <listitem><para><indexterm><primary>mobility</primary></indexterm>
-               User needs such as mobility and data access</para></listitem>
-
-               <listitem><para>The nature of Windows networking protocols</para></listitem>
-
-               <listitem><para>Identity management infrastructure needs</para></listitem>
-       </itemizedlist>
-
-       <para>Let's look at each in turn.</para>
-
-       <sect3>
-         <title>User Needs</title>
-
-       <para>
-       The new company has three divisions. Staff for each division are spread across
-       the company. Some staff are office-bound and some are mobile users. Mobile
-       users travel globally. Some spend considerable periods working in other offices.
-       Everyone wants to be able to work without constraint of productivity.
-       </para> 
-
-       <para>
-       The challenge is not insignificant. In some parts of the world, even dial-up
-       connectivity is poor, while in other regions political encumbrances severely
-       curtail user needs. Parts of the global Internet infrastructure remain shielded
-       off for reasons outside the scope of this discussion.
-       </para>
-
-       <para>
-       <indexterm><primary>synchronize</primary></indexterm>
-       Decisions must be made regarding where data is to be stored, how it will be
-       replicated (if at all), and what the network bandwidth implications are. For
-       example, one decision that can be made is to give each office its own master
-       file storage area that can be synchronized to a central repository in New
-       York. This would permit global data to be backed up from a single location.
-       The synchronization tool could be <command>rsync,</command> run via a cron
-       job. Mobile users may use off-line file storage under Windows XP Professional.
-       This way, they can synchronize all files that have changed since each logon
-       to the network.
-       </para>
-
-       <para>
-       <indexterm><primary>bandwidth</primary><secondary>requirements</secondary></indexterm>
-       <indexterm><primary>roaming profile</primary></indexterm>
-       No matter which way you look at this, the bandwidth requirements
-       for acceptable performance are substantial even if only 10 percent of
-       staff are global data users. A company with 3,500 employees,
-       280 of whom are mobile users who use a similarly distributed
-       network, found they needed at least 2 Mb/sec connectivity
-       between the UK and US offices. Even over 2 Mb/sec bandwidth, this
-       company abandoned any attempt to run roaming profile usage for
-       mobile users. At that time, the average roaming profile took 480
-       KB, while today the minimum Windows XP Professional roaming
-       profile involves a transfer of over 750 KB from the profile
-       server to and from the client.
-       </para>
-
-       <para>
-       <indexterm><primary>wide-area</primary></indexterm>
-       Obviously then, user needs and wide-area practicalities dictate the economic and
-       technical aspects of your network design as well as for standard operating procedures.
-       </para>
-
-       </sect3>
-
-       <sect3>
-         <title>The Nature of Windows Networking Protocols</title>
-
-       <para>
-       <indexterm><primary>profile</primary><secondary>mandatory</secondary></indexterm>
-       Network logons that include roaming profile handling requires from 140 KB to 2 MB.
-       The inclusion of support for a minimal set of common desktop applications can push
-       the size of a complete profile to over 15 MB. This has substantial implications
-       for location of user profiles. Additionally, it is a significant factor in
-       determining the nature and style of mandatory profiles that may be enforced as
-       part of a total service-level assurance program that might be implemented.
-       </para>
-
-       <para>
-       <indexterm><primary>logon traffic</primary></indexterm>
-       <indexterm><primary>redirected folders</primary></indexterm>
-       One way to reduce the network bandwidth impact of user logon
-       traffic is through folder redirection. In <link linkend="happy"/>, you
-       implemented this in the new Windows XP Professional standard
-       desktop configuration. When desktop folders such as <guimenu>My
-       Documents</guimenu> are redirected to a network drive, they should
-       also be excluded from synchronization to and from the server on
-       logon or logout. Redirected folders are analogous to network drive
-       connections.
-       </para>
-
-       <para><indexterm><primary>application servers</primary></indexterm>
-       Of course, network applications should only be run off
-       local application servers. As a general rule, even with 2 Mb/sec
-       network bandwidth, it would not make sense at all for someone who
-       is working out of the London office to run applications off a
-       server that is located in New York.
-       </para>
-
-       <para>
-       <indexterm><primary>affordability</primary></indexterm>
-       When network bandwidth becomes a precious commodity (that is most
-       of the time), there is a significant demand to understand network
-       processes and to mold the limits of acceptability around the
-       constraints of affordability.
-       </para>
-
-       <para>
-       When a Windows NT4/200x/XP Professional client user logs onto
-       the network, several important things must happen.
-       </para>
-
-       <itemizedlist>
-               <listitem><para>
-               <indexterm><primary>DHCP</primary></indexterm>
-               The client obtains an IP address via DHCP. (DHCP is
-               necessary so that users can roam between offices.)
-               </para></listitem>
-
-               <listitem><para>
-               <indexterm><primary>WINS</primary></indexterm>
-               <indexterm><primary>DNS</primary></indexterm>
-               The client must register itself with the WINS and/or DNS server.
-               </para></listitem>
-
-               <listitem><para>
-               <indexterm><primary>Domain Controller</primary><secondary>closest</secondary></indexterm>
-               The client must locate the closest domain controller.
-               </para></listitem>
-
-               <listitem><para>
-               The client must log onto a domain controller and obtain as part of
-               that process the location of the user's profile, load it, connect to
-               redirected folders, and establish all network drive and printer connections.
-               </para></listitem>
-
-               <listitem><para>
-               The domain controller must be able to resolve the user's
-               credentials before the logon process is fully implemented.
-               </para></listitem>
-       </itemizedlist>
-
-       <para>
-       Given that this book is about Samba and that it implements the Windows
-       NT4-style domain semantics, it makes little sense to compare Samba with
-       Microsoft Active Directory insofar as the logon protocols and principles
-       of operation are concerned. The following information pertains exclusively
-       to the interaction between a Windows XP Professional workstation and a
-       Samba-3.0.20 server. In the discussion that follows, use is made of DHCP and WINS.
-       </para>
-
-       <para>
-       As soon as the Windows workstation starts up, it obtains an
-       IP address. This is immediately followed by registration of its
-       name both by broadcast and Unicast registration that is directed
-       at the WINS server.
-       </para>
-
-       <para>
-       <indexterm><primary>Unicast</primary></indexterm>
-       <indexterm><primary>broadcast</primary><secondary>directed</secondary>
-       </indexterm><indexterm><primary>NetBIOS</primary></indexterm>
-       Given that the client is already a domain member, it then sends
-       a directed (Unicast) request to the WINS server seeking the list of
-       IP addresses for domain controllers (NetBIOS name type 0x1C). The
-       WINS server replies with the information requested.</para>
-
-       <para>
-       <indexterm><primary>broadcast</primary><secondary>mailslot</secondary></indexterm>
-       <indexterm><primary>Unicast</primary></indexterm>
-       <indexterm><primary>WINS</primary></indexterm>
-       The client sends two netlogon mailslot broadcast requests
-       to the local network and to each of the IP addresses returned by
-       the WINS server. Whichever answers this request first appears to
-       be the machine that the Windows XP client attempts to use to
-       process the network logon. The mailslot messages use UDP broadcast
-       to the local network and UDP Unicast directed at each machine that
-       was listed in the WINS server response to a request for the list of
-       domain controllers.
-       </para>
-
-       <para>
-       <indexterm><primary>protocol</primary><secondary>negotiation</secondary></indexterm>
-       <indexterm><primary>logon server</primary></indexterm>
-       <indexterm><primary>fail</primary></indexterm>
-       The logon process begins with negotiation of the SMB/CIFS
-       protocols that are to be used; this is followed by an exchange of
-       information that ultimately includes the client sending the
-       credentials with which the user is attempting to logon. The logon
-       server must now approve the further establishment of the
-       connection, but that is a good point to halt for now. The priority
-       here must center around identification of network infrastructure
-       needs. A secondary fact we need to know is, what happens when
-       local domain controllers fail or break?
-       </para>
-
-       <para>
-       <indexterm><primary>Domain Controller</primary></indexterm>
-       <indexterm><primary>PDC</primary></indexterm>
-       <indexterm><primary>BDC</primary></indexterm>
-       <indexterm><primary>netlogon</primary></indexterm>
-       Under most circumstances, the nearest domain controller
-       responds to the netlogon mailslot broadcast. The exception to this
-       norm occurs when the nearest domain controller is too busy or is out
-       of service. Herein lies an important fact. This means it is
-       important that every network segment should have at least two
-       domain controllers. Since there can be only one PDC, all additional
-       domain controllers are by definition BDCs.
-       </para>
-
-       <para>
-       <indexterm><primary>authentication</primary></indexterm>
-       <indexterm><primary>Identity Management</primary></indexterm>
-       The provision of sufficient servers that are BDCs is an
-       important design factor. The second important design factor
-       involves how each of the BDCs obtains user authentication
-       data. That is the subject of the next section, which involves key
-       decisions regarding Identity Management facilities.
-       </para>
-
-       </sect3>
-
-       <sect3>
-       <title>Identity Management Needs</title>
-
-       <para>
-       <indexterm><primary>privacy</primary></indexterm>
-       <indexterm><primary>user credentials</primary></indexterm>
-       <indexterm><primary>validated</primary></indexterm>
-       <indexterm><primary>privileges</primary></indexterm>
-       Network managers recognize that in large organizations users
-       generally need to be given resource access based on needs, while
-       being excluded from other resources for reasons of privacy. It is
-       therefore essential that all users identify themselves at the
-       point of network access. The network logon is the principal means
-       by which user credentials are validated and filtered and appropriate
-       rights and privileges are allocated.
-       </para>
-
-       <para>
-       <indexterm><primary>Identity Management</primary></indexterm>
-       <indexterm><primary>Yellow Pages</primary></indexterm>
-       <indexterm><primary>NIS</primary></indexterm>
-       Unfortunately, network resources tend to have their own Identity 
-       Management facilities, the quality and manageability of which varies 
-       from quite poor to exceptionally good. Corporations that use a mixture 
-       of systems soon discover that until recently, few systems were 
-       designed to interoperate. For example, UNIX systems each have an 
-       independent user database. Sun Microsystems developed a facility that 
-       was originally called <constant>Yellow Pages</constant>, and was renamed 
-       when a telephone company objected to the use of its trademark. 
-       What was once called <constant>Yellow Pages</constant> is today known 
-       as <constant>Network Information System</constant> (NIS).
-       </para>
-
-       <para>
-       <indexterm><primary>NIS+</primary></indexterm>
-       NIS gained a strong following throughout the UNIX/VMS space in a short
-       period of time and retained that appeal and use for over a decade.
-       Security concerns and inherent limitations have caused it to enter its
-       twilight. NIS did not gain widespread appeal outside of the UNIX world
-       and was not universally adopted. Sun updated this to a more secure
-       implementation called NIS+, but even it has fallen victim to changing
-       demands as the demand for directory services that can be coupled with
-       other information systems is catching on.
-       </para>
-
-
-       <para>
-       <indexterm><primary>NIS</primary></indexterm>
-       <indexterm><primary>government</primary></indexterm>
-       <indexterm><primary>education</primary></indexterm>
-       Nevertheless, both NIS and NIS+ continue to hold ground in
-       business areas where UNIX still has major sway. Examples of
-       organizations that remain firmly attached to the use of NIS and
-       NIS+ include large government departments, education institutions,
-       and large corporations that have a scientific or engineering
-       focus.
-       </para>
-
-       <para>
-       <indexterm><primary>scalable</primary></indexterm>
-       <indexterm><primary>distributed</primary></indexterm>
-       Today's networking world needs a scalable, distributed Identity 
-       Management infrastructure, commonly called a directory. The most 
-       popular technologies today are Microsoft Active Directory service 
-       and a number of LDAP implementations.
-       </para>
-
-       <para>
-       <indexterm><primary>multiple directories</primary></indexterm>
-       The problem of managing multiple directories has become a focal
-       point over the past decade, creating a large market for
-       metadirectory products and services that allow organizations that
-       have multiple directories and multiple management and control
-       centers to provision information from one directory into
-       another. The attendant benefit to end users is the promise of
-       having to remember and deal with fewer login identities and
-       passwords.</para>
-
-       <para>
-       <indexterm><primary>network</primary><secondary>bandwidth</secondary></indexterm>
-       The challenge of every large network is to find the optimum
-       balance of internal systems and facilities for Identity
-       Management resources. How well the solution is chosen and
-       implemented has potentially significant impact on network bandwidth
-       and systems response needs.</para>
-
-       <para>
-       <indexterm><primary>LDAP server</primary></indexterm>
-       <indexterm><primary>LDAP</primary><secondary>master</secondary></indexterm>
-       <indexterm><primary>LDAP</primary><secondary>slave</secondary></indexterm>
-       In <link linkend="happy"/>, you implemented a single LDAP server for the
-       entire network. This may work for smaller networks, but almost
-       certainly fails to meet the needs of large and complex networks. The
-       following section documents how you may implement a single
-       master LDAP server with multiple slave servers.</para>
-
-       <para>
-       What is the best method for implementing master/slave LDAP
-       servers within the context of a distributed 2,000-user network is a
-       question that remains to be answered.</para>
-
-       <para>
-       <indexterm><primary>distributed domain</primary></indexterm>
-       <indexterm><primary>wide-area</primary></indexterm>
-       One possibility that has great appeal is to create a single,
-       large distributed domain. The practical implications of this
-       design (see <link linkend="chap7net"/>) demands the placement of
-       sufficient BDCs in each location. Additionally, network
-       administrators must make sure that profiles are not transferred
-       over the wide-area links, except as a totally unavoidable
-       measure. Network design must balance the risk of loss of user
-       productivity against the cost of network management and
-       maintenance.
-       </para>
-
-       <para>
-       <indexterm><primary>domain name space</primary></indexterm>
-       The network design in <link linkend="chap7net2"/> takes the approach
-       that management of networks that are too remote to be managed
-       effectively from New York ought to be given a certain degree of
-       autonomy. With this rationale, the Los Angeles and London networks,
-       though fully integrated with those on the East Coast, each have their
-       own domain name space and can be independently managed and controlled.
-       One of the key drawbacks of this design is that it flies in the face of
-       the ability for network users to roam globally without some compromise
-       in how they may access global resources.
-       </para>
-
-       <para>
-       <indexterm><primary>interdomain trusts</primary></indexterm>
-       Desk-bound users need not be negatively affected by this design, since
-       the use of interdomain trusts can be used to satisfy the need for global
-       data sharing.
-       </para>
-
-       <para>
-       <indexterm><primary>LDAP</primary></indexterm>
-       <indexterm><primary>LDAP</primary><secondary>backend</secondary></indexterm>
-       <indexterm><primary>SID</primary></indexterm>
-       When Samba is configured to use an LDAP backend, it stores the domain
-       account information in a directory entry. This account entry contains the
-       domain SID. An unintended but exploitable side effect is that this makes it
-       possible to operate with more than one PDC on a distributed network.
-       </para>
-
-       <para>
-       <indexterm><primary>WINS</primary></indexterm>
-       <indexterm><primary>wins.dat</primary></indexterm>
-       <indexterm><primary>SID</primary></indexterm>
-       How might this peculiar feature be exploited? The answer is simple. It is
-       imperative that each network segment have its own WINS server. Major
-       servers on remote network segments can be given a static WINS entry in
-       the <filename>wins.dat</filename> file on each WINS server. This allows
-       all essential data to be visible from all locations. Each location would,
-       however, function as if it is an independent domain, while all sharing the
-       same domain SID. Since all domain account information can be stored in a
-       single LDAP backend, users have unfettered ability to roam.
-       </para>
-
-       <para>
-       <indexterm><primary>NetBIOS name</primary><secondary>aliases</secondary></indexterm>
-       <indexterm><primary>fail-over</primary></indexterm>
-       This concept has not been exhaustively validated, though we can see no reason
-       why this should not work. The important facets are the following: The name of
-       the domain must be identical in all locations. Each network segment must have
-       its own WINS server. The name of the PDC must be the same in all locations; this
-       necessitates the use of NetBIOS name aliases for each PDC so that they can be
-       accessed globally using the alias and not the PDC's primary name. A single master
-       LDAP server can be based in New York, with multiple LDAP slave servers located
-       on every network segment. Finally, the BDCs should each use failover LDAP servers
-       that are in fact slave LDAP servers on the local segments.
-       </para>
-
-       <para>
-       <indexterm><primary>LDAP</primary><secondary>updates</secondary></indexterm>
-       <indexterm><primary>domain tree</primary></indexterm>
-       <indexterm><primary>LDAP</primary><secondary>database</secondary></indexterm>
-       <indexterm><primary>LDAP</primary><secondary>directory</secondary></indexterm>
-       With a single master LDAP server, all network updates are effected on a single
-       server. In the event that this should become excessively fragile or network
-       bandwidth limiting, one could implement a delegated LDAP domain. This is also
-       known as a partitioned (or multiple partition) LDAP database and as a distributed
-       LDAP directory.
-       </para>
-
-       <para>
-       As the LDAP directory grows, it becomes increasingly important
-       that its structure is implemented in a manner that mirrors
-       organizational needs, so as to limit network update and
-       referential traffic. It should be noted that all directory
-       administrators must of necessity follow the same standard
-       procedures for managing the directory, because retroactive correction of
-       inconsistent directory information can be exceedingly difficult.
-       </para>
-
-       </sect3>
-
-       </sect2>
-
-
-       <sect2>
-               <title>Political Issues</title>
-
-       <para>
-       As organizations grow, the number of points of control increases
-       also. In a large distributed organization, it is important that the
-       Identity Management system be capable of being updated from
-       many locations, and it is equally important that changes made should
-       become usable in a reasonable period, typically
-       minutes rather than days (the old limitation of highly manual
-       systems).
-       </para>
-
-       </sect2>
-
-</sect1>
-
-<sect1>
-       <title>Implementation</title>
-
-       <para>
-       <indexterm><primary>winbind</primary></indexterm>
-       <indexterm><primary>LDAP</primary></indexterm>
-       <indexterm><primary>UID</primary></indexterm>
-       <indexterm><primary>GID</primary></indexterm>
-       Samba has the ability to use multiple password (authentication and
-       identity resolution) backends. The diagram in <link linkend="chap7idres"/>
-       demonstrates how Samba uses winbind, LDAP, and NIS, the traditional system
-       password database. The diagram only documents the mechanisms for
-       authentication and identity resolution (obtaining a UNIX UID/GID)
-       using the specific systems shown.
-       </para>
-
-       <figure id="chap7idres">
-               <title>Samba and Authentication Backend Search Pathways</title>
-               <imagefile scale="55">chap7-idresol</imagefile>
-       </figure>
-
-       <para>
-       <indexterm><primary>smbpasswd</primary></indexterm>
-       <indexterm><primary>xmlsam</primary></indexterm>
-       <indexterm><primary>SMB passwords</primary></indexterm>
-       <indexterm><primary>tdbsam</primary></indexterm>
-       <indexterm><primary>mysqlsam</primary></indexterm>
-       <indexterm><primary>LDAP</primary></indexterm>
-       <indexterm><primary>distributed</primary></indexterm>
-       Samba is capable of using the <constant>smbpasswd</constant> and
-       <constant>tdbsam</constant>. The SMB
-       passwords can, of course, also be stored in an LDAP ldapsam
-       backend. LDAP is the preferred passdb backend for distributed network
-       operations.
-       </para>
-
-       <para>
-       <indexterm><primary>passdb backend</primary></indexterm>
-       You can specify a failover LDAP backend. The syntax for specifying a
-       single LDAP backend in &smb.conf; is:
-<screen>
-...
-passdb backend = ldapsam:ldap://master.abmas.biz
-...
-</screen>
-       This configuration tells Samba to use a single LDAP server, as shown in <link linkend="ch7singleLDAP"/>.
-       <figure id="ch7singleLDAP">
-               <title>Samba Configuration to Use a Single LDAP Server</title>
-               <imagefile scale="65">ch7-singleLDAP</imagefile>
-       </figure>
-       <indexterm><primary>LDAP</primary><secondary>fail-over</secondary></indexterm>
-       <indexterm><primary>fail-over</primary></indexterm>
-       The addition of a failover LDAP server can simply be done by adding a
-       second entry for the failover server to the single <parameter>ldapsam</parameter>
-       entry, as shown here (note the particular use of the double quotes):
-<screen>
-...
-passdb backend = ldapsam:"ldap://master.abmas.biz \
-                         ldap://slave.abmas.biz"
-...
-</screen>
-       This configuration tells Samba to use a master LDAP server, with failover to a slave server if necessary,
-       as shown in <link linkend="ch7dualLDAP"/>.
-       <figure id="ch7dualLDAP">
-               <title>Samba Configuration to Use a Dual (Fail-over) LDAP Server</title>
-               <imagefile scale="65">ch7-fail-overLDAP</imagefile>
-       </figure>
-       </para>
-
-    <para>
-       It is assumed that the network you are working with follows in a
-       pattern similar to what was covered in <link linkend="happy"/>. The following steps
-    permit the operation of a master/slave OpenLDAP arrangement.
-       </para>
-
-       <procedure>
-       <title>Implementation Steps for an LDAP Slave Server</title>
-
-               <step><para>
-           <indexterm><primary>SUSE Linux</primary></indexterm>
-               <indexterm><primary>Red Hat Linux</primary></indexterm>
-               Log onto the master LDAP server as <constant>root</constant>.
-               You are about to change the configuration of the LDAP server, so it
-               makes sense to temporarily halt it. Stop OpenLDAP from running on 
-               SUSE Linux by executing:
-<screen>
-&rootprompt; rcldap stop
-</screen>
-               On Red Hat Linux, you can do this by executing:
-<screen>
-&rootprompt; service ldap stop
-</screen>
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>/etc/openldap/slapd.conf</primary></indexterm>
-               Edit the <filename>/etc/openldap/slapd.conf</filename> file so it
-               matches the content of <link linkend="ch7-LDAP-master"/>.
-               </para></step>
-
-               <step><para>
-               Create a file called <filename>admin-accts.ldif</filename> with the following contents:
-<screen>
-dn: cn=updateuser,dc=abmas,dc=biz
-objectClass: person
-cn: updateuser
-sn: updateuser
-userPassword: not24get
-
-dn: cn=sambaadmin,dc=abmas,dc=biz
-objectClass: person
-cn: sambaadmin
-sn: sambaadmin
-userPassword: buttercup
-</screen>
-               </para></step>
-
-               <step><para>
-               Add an account called <quote>updateuser</quote> to the master LDAP server as shown here:
-<screen>
-&rootprompt; slapadd -v -l admin-accts.ldif
-</screen>
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>LDIF</primary></indexterm>
-               <indexterm><primary>LDAP</primary><secondary>preload</secondary></indexterm>
-               Change directory to a suitable place to dump the contents of the
-               LDAP server. The dump file (and LDIF file) is used to preload
-               the slave LDAP server database. You can dump the database by executing:
-<screen>
-&rootprompt; slapcat -v -l LDAP-transfer-LDIF.txt
-</screen>
-               Each record is written to the file.     
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>LDAP-transfer-LDIF.txt</primary></indexterm>
-               Copy the file <filename>LDAP-transfer-LDIF.txt</filename> to the intended
-               slave LDAP server. A good location could be in the directory 
-               <filename>/etc/openldap/preload</filename>.
-               </para></step>
-
-               <step><para>
-               Log onto the slave LDAP server as <constant>root</constant>. You can
-               now configure this server so the <filename>/etc/openldap/slapd.conf</filename>
-               file matches the content of <link linkend="ch7-LDAP-slave"/>.
-               </para></step>
-
-               <step><para>
-               Change directory to the location in which you stored the 
-               <filename>LDAP-transfer-LDIF.txt</filename> file (<filename>/etc/openldap/preload</filename>).
-               While in this directory, execute:
-<screen>
-&rootprompt; slapadd -v -l LDAP-transfer-LDIF.txt
-</screen>
-               If all goes well, the following output confirms that the data is being loaded
-               as intended:
-<screen>
-added: "dc=abmas,dc=biz" (00000001)
-added: "cn=sambaadmin,dc=abmas,dc=biz" (00000002)
-added: "cn=updateuser,dc=abmas,dc=biz" (00000003)
-added: "ou=People,dc=abmas,dc=biz" (00000004)
-added: "ou=Groups,dc=abmas,dc=biz" (00000005)
-added: "ou=Computers,dc=abmas,dc=biz" (00000006)
-added: "uid=Administrator,ou=People,dc=abmas,dc=biz" (00000007)
-added: "uid=nobody,ou=People,dc=abmas,dc=biz" (00000008)
-added: "cn=Domain Admins,ou=Groups,dc=abmas,dc=biz" (00000009)
-added: "cn=Domain Users,ou=Groups,dc=abmas,dc=biz" (0000000a)
-added: "cn=Domain Guests,ou=Groups,dc=abmas,dc=biz" (0000000b)
-added: "uid=bobj,ou=People,dc=abmas,dc=biz" (0000000c)
-added: "sambaDomainName=MEGANET2,dc=abmas,dc=biz" (0000000d)
-added: "uid=stans,ou=People,dc=abmas,dc=biz" (0000000e)
-added: "uid=chrisr,ou=People,dc=abmas,dc=biz" (0000000f)
-added: "uid=maryv,ou=People,dc=abmas,dc=biz" (00000010)
-added: "cn=Accounts,ou=Groups,dc=abmas,dc=biz" (00000011)
-added: "cn=Finances,ou=Groups,dc=abmas,dc=biz" (00000012)
-added: "cn=PIOps,ou=Groups,dc=abmas,dc=biz" (00000013)
-</screen>
-               </para></step>
-
-               <step><para>
-               Now start the LDAP server and set it to run automatically on system reboot by executing:
-<screen>
-&rootprompt; rcldap start
-&rootprompt; chkconfig ldap on
-</screen>
-               On Red Hat Linux, execute the following:
-<screen>
-&rootprompt; service ldap start
-&rootprompt; chkconfig ldap on
-</screen>
-               </para></step>
-
-               <step><para>
-           <indexterm><primary>chkconfig</primary></indexterm>
-               <indexterm><primary>service</primary></indexterm>
-               <indexterm><primary>rcldap</primary></indexterm>
-               Go back to the master LDAP server. Execute the following to start LDAP as well
-               as <command>slurpd</command>, the synchronization daemon, as shown here:
-<screen>
-&rootprompt; rcldap start
-&rootprompt; chkconfig ldap on
-&rootprompt; rcslurpd start
-&rootprompt; chkconfig slurpd on
-</screen>
-           <indexterm><primary>slurpd</primary></indexterm>
-               On Red Hat Linux, check the equivalent command to start <command>slurpd</command>.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>smbldap-useradd</primary></indexterm>
-               On the master LDAP server you may now add an account to validate that replication
-               is working. Assuming the configuration shown in <link linkend="happy"/>, execute:
-<screen>
-&rootprompt; /var/lib/samba/sbin/smbldap-useradd -a fruitloop
-</screen>
-               </para></step>
-
-               <step><para>
-               On the slave LDAP server, change to the directory <filename>/var/lib/ldap</filename>.
-               There should now be a file called <filename>replogfile</filename>. If replication worked
-               as expected, the content of this file should be:
-<screen>
-time: 1072486403
-dn: uid=fruitloop,ou=People,dc=abmas,dc=biz
-changetype: modify
-replace: sambaProfilePath
-sambaProfilePath: \\MASSIVE\profiles\fruitloop
--
-replace: sambaHomePath
-sambaHomePath: \\MASSIVE\homes
--
-replace: entryCSN
-entryCSN: 2003122700:43:38Z#0x0005#0#0000
--
-replace: modifiersName
-modifiersName: cn=Manager,dc=abmas,dc=biz
--
-replace: modifyTimestamp
-modifyTimestamp: 20031227004338Z
--
-</screen>
-               </para></step>
-
-               <step><para>
-               Given that this first slave LDAP server is now working correctly, you may now
-               implement additional slave LDAP servers as required.
-               </para></step>
-
-               <step><para>
-               On each machine (PDC and BDCs) after the respective &smb.conf; files have been created as shown in
-               <link linkend="ch7-massmbconfA">Primary Domain Controller &smb.conf; File &smbmdash; Part A + B + C</link> and
-               on BDCs the <link linkend="ch7-slvsmbocnfA">Backup Domain Controller &smb.conf; File &smbmdash; Part A
-               + B + C</link> execute the following:
-<screen>
-&rootprompt; smbpasswd -w buttercup
-</screen>
-               This will install in the <filename>secrets.tdb</filename> file the password that Samba will need to
-               manage (write to) the LDAP Master server to perform account updates.
-               </para></step>
-
-       </procedure>
-
-<example id="ch7-LDAP-master">
-<title>LDAP Master Server Configuration File &smbmdash; <filename>/etc/openldap/slapd.conf</filename></title>
-<screen>
-include     /etc/openldap/schema/core.schema
-include     /etc/openldap/schema/cosine.schema
-include     /etc/openldap/schema/inetorgperson.schema
-include     /etc/openldap/schema/nis.schema
-include     /etc/openldap/schema/samba.schema
-
-pidfile     /var/run/slapd/slapd.pid
-argsfile    /var/run/slapd/slapd.args
-
-database    bdb
-suffix      "dc=abmas,dc=biz"
-rootdn      "cn=Manager,dc=abmas,dc=biz"
-
-# rootpw = not24get
-rootpw      {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV
-
-replica     host=lapdc.abmas.biz:389
-            suffix="dc=abmas,dc=biz"
-            binddn="cn=updateuser,dc=abmas,dc=biz"
-            bindmethod=simple credentials=not24get
-
-access to attrs=sambaLMPassword,sambaNTPassword
-           by dn="cn=sambaadmin,dc=abmas,dc=biz" write
-           by * none
-
-replogfile  /var/lib/ldap/replogfile
-
-directory   /var/lib/ldap
-
-# Indices to maintain
-index objectClass           eq
-index cn                    pres,sub,eq
-index sn                    pres,sub,eq
-index uid                   pres,sub,eq
-index displayName           pres,sub,eq
-index uidNumber             eq
-index gidNumber             eq
-index memberUID             eq
-index sambaSID              eq
-index sambaPrimaryGroupSID  eq
-index sambaDomainName       eq
-index default               sub
-</screen>
-</example>
-
-<example id="ch7-LDAP-slave">
-<title>LDAP Slave Configuration File &smbmdash; <filename>/etc/openldap/slapd.conf</filename></title>
-<screen>
-include     /etc/openldap/schema/core.schema
-include     /etc/openldap/schema/cosine.schema
-include     /etc/openldap/schema/inetorgperson.schema
-include     /etc/openldap/schema/nis.schema
-include     /etc/openldap/schema/samba.schema
-
-pidfile     /var/run/slapd/slapd.pid
-argsfile    /var/run/slapd/slapd.args
-
-database    bdb
-suffix      "dc=abmas,dc=biz"
-rootdn      "cn=Manager,dc=abmas,dc=biz"
-
-# rootpw = not24get
-rootpw      {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV
-
-access to *
-            by dn=cn=updateuser,dc=abmas,dc=biz write
-            by * read
-
-updatedn    cn=updateuser,dc=abmas,dc=biz
-updateref   ldap://massive.abmas.biz
-
-directory   /var/lib/ldap
-
-# Indices to maintain
-index objectClass           eq
-index cn                    pres,sub,eq
-index sn                    pres,sub,eq
-index uid                   pres,sub,eq
-index displayName           pres,sub,eq
-index uidNumber             eq
-index gidNumber             eq
-index memberUID             eq
-index sambaSID              eq
-index sambaPrimaryGroupSID  eq
-index sambaDomainName       eq
-index default               sub
-</screen>
-</example>
-
-<example id="ch7-massmbconfA">
-<title>Primary Domain Controller &smb.conf; File &smbmdash; Part A</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="unix charset">LOCALE</smbconfoption>
-<smbconfoption name="workgroup">MEGANET2</smbconfoption>
-<smbconfoption name="passdb backend">ldapsam:ldap://massive.abmas.biz</smbconfoption>
-<smbconfoption name="username map">/etc/samba/smbusers</smbconfoption>
-<smbconfoption name="log level">1</smbconfoption>
-<smbconfoption name="syslog">0</smbconfoption>
-<smbconfoption name="log file">/var/log/samba/%m</smbconfoption>
-<smbconfoption name="max log size">0</smbconfoption>
-<smbconfoption name="smb ports">139</smbconfoption>
-<smbconfoption name="name resolve order">wins bcast hosts</smbconfoption>
-<smbconfoption name="time server">Yes</smbconfoption>
-<smbconfoption name="printcap name">CUPS</smbconfoption>
-<smbconfoption name="add user script">/opt/IDEALX/sbin/smbldap-useradd -m '%u'</smbconfoption>
-<smbconfoption name="delete user script">/opt/IDEALX/sbin/smbldap-userdel '%u'</smbconfoption>
-<smbconfoption name="add group script">/opt/IDEALX/sbin/smbldap-groupadd -p '%g'</smbconfoption>
-<smbconfoption name="delete group script">/opt/IDEALX/sbin/smbldap-groupdel '%g'</smbconfoption>
-<smbconfoption name="add user to group script">/opt/IDEALX/sbin/smbldap-groupmod -m '%g' '%u'</smbconfoption>
-<smbconfoption name="delete user from group script">/opt/IDEALX/sbin/smbldap-groupmod -x '%g' '%u'</smbconfoption>
-<smbconfoption name="set primary group script">/opt/IDEALX/sbin/smbldap-usermod -g '%g' '%u'</smbconfoption>
-<smbconfoption name="add machine script">/opt/IDEALX/sbin/smbldap-useradd -w '%u'</smbconfoption>
-<smbconfoption name="shutdown script">/var/lib/samba/scripts/shutdown.sh</smbconfoption>
-<smbconfoption name="abort shutdown script">/sbin/shutdown -c</smbconfoption>
-<smbconfoption name="logon script">scripts\logon.bat</smbconfoption>
-<smbconfoption name="logon path">\\%L\profiles\%U</smbconfoption>
-<smbconfoption name="logon drive">X:</smbconfoption>
-<smbconfoption name="domain logons">Yes</smbconfoption>
-<smbconfoption name="domain master">Yes</smbconfoption>
-<smbconfoption name="wins support">Yes</smbconfoption>
-<smbconfoption name="ldap suffix">dc=abmas,dc=biz</smbconfoption>
-<smbconfoption name="ldap machine suffix">ou=People</smbconfoption>
-<smbconfoption name="ldap user suffix">ou=People</smbconfoption>
-<smbconfoption name="ldap group suffix">ou=Groups</smbconfoption>
-<smbconfoption name="ldap idmap suffix">ou=Idmap</smbconfoption>
-<smbconfoption name="ldap admin dn">cn=sambaadmin,dc=abmas,dc=biz</smbconfoption>
-<smbconfoption name="idmap backend">ldap://massive.abmas.biz</smbconfoption>
-<smbconfoption name="idmap uid">10000-20000</smbconfoption>
-<smbconfoption name="idmap gid">10000-20000</smbconfoption>
-<smbconfoption name="printing">cups</smbconfoption>
-</smbconfblock>
-</example>
-
-<example id="ch7-massmbconfB">
-<title>Primary Domain Controller &smb.conf; File &smbmdash; Part B</title>
-<smbconfblock>
-<smbconfsection name="[IPC$]"/>
-<smbconfoption name="path">/tmp</smbconfoption>
-
-<smbconfsection name="[accounts]"/>
-<smbconfoption name="comment">Accounting Files</smbconfoption>
-<smbconfoption name="path">/data/accounts</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[service]"/>
-<smbconfoption name="comment">Financial Services Files</smbconfoption>
-<smbconfoption name="path">/data/service</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[pidata]"/>
-<smbconfoption name="comment">Property Insurance Files</smbconfoption>
-<smbconfoption name="path">/data/pidata</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[homes]"/>
-<smbconfoption name="comment">Home Directories</smbconfoption>
-<smbconfoption name="valid users">%S</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[printers]"/>
-<smbconfoption name="comment">SMB Print Spool</smbconfoption>
-<smbconfoption name="path">/var/spool/samba</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="printable">Yes</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-</smbconfblock>
-</example>
-
-<example id="ch7-massmbconfC">
-<title>Primary Domain Controller &smb.conf; File &smbmdash; Part C</title>
-<smbconfblock>
-<smbconfsection name="[apps]"/>
-<smbconfoption name="comment">Application Files</smbconfoption>
-<smbconfoption name="path">/apps</smbconfoption>
-<smbconfoption name="admin users">bjones</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[netlogon]"/>
-<smbconfoption name="comment">Network Logon Service</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/netlogon</smbconfoption>
-<smbconfoption name="admin users">root, Administrator</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="locking">No</smbconfoption>
-
-<smbconfsection name="[profiles]"/>
-<smbconfoption name="comment">Profile Share</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/profiles</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="profile acls">Yes</smbconfoption>
-
-<smbconfsection name="[profdata]"/>
-<smbconfoption name="comment">Profile Data Share</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/profdata</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="profile acls">Yes</smbconfoption>
-
-<smbconfsection name="[print$]"/>
-<smbconfoption name="comment">Printer Drivers</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/drivers</smbconfoption>
-<smbconfoption name="write list">root</smbconfoption>
-<smbconfoption name="admin users">root, Administrator</smbconfoption>
-</smbconfblock>
-</example>
-
-<example id="ch7-slvsmbocnfA">
-<title>Backup Domain Controller &smb.conf; File &smbmdash; Part A</title>
-<smbconfblock>
-<smbconfcomment># Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="unix charset">LOCALE</smbconfoption>
-<smbconfoption name="workgroup">MEGANET2</smbconfoption>
-<smbconfoption name="netbios name">BLDG1</smbconfoption>
-<smbconfoption name="passdb backend">ldapsam:ldap://lapdc.abmas.biz</smbconfoption>
-<smbconfoption name="username map">/etc/samba/smbusers</smbconfoption>
-<smbconfoption name="log level">1</smbconfoption>
-<smbconfoption name="syslog">0</smbconfoption>
-<smbconfoption name="log file">/var/log/samba/%m</smbconfoption>
-<smbconfoption name="max log size">50</smbconfoption>
-<smbconfoption name="smb ports">139</smbconfoption>
-<smbconfoption name="name resolve order">wins bcast hosts</smbconfoption>
-<smbconfoption name="printcap name">CUPS</smbconfoption>
-<smbconfoption name="show add printer wizard">No</smbconfoption>
-<smbconfoption name="logon script">scripts\logon.bat</smbconfoption>
-<smbconfoption name="logon path">\\%L\profiles\%U</smbconfoption>
-<smbconfoption name="logon drive">X:</smbconfoption>
-<smbconfoption name="domain logons">Yes</smbconfoption>
-<smbconfoption name="os level">63</smbconfoption>
-<smbconfoption name="domain master">No</smbconfoption>
-<smbconfoption name="wins server">192.168.2.1</smbconfoption>
-<smbconfoption name="ldap suffix">dc=abmas,dc=biz</smbconfoption>
-<smbconfoption name="ldap machine suffix">ou=People</smbconfoption>
-<smbconfoption name="ldap user suffix">ou=People</smbconfoption>
-<smbconfoption name="ldap group suffix">ou=Groups</smbconfoption>
-<smbconfoption name="ldap idmap suffix">ou=Idmap</smbconfoption>
-<smbconfoption name="ldap admin dn">cn=sambaadmin,dc=abmas,dc=biz</smbconfoption>
-<smbconfoption name="utmp">Yes</smbconfoption>
-<smbconfoption name="idmap backend">ldap://massive.abmas.biz</smbconfoption>
-<smbconfoption name="idmap uid">10000-20000</smbconfoption>
-<smbconfoption name="idmap gid">10000-20000</smbconfoption>
-<smbconfoption name="printing">cups</smbconfoption>
-
-<smbconfsection name="[accounts]"/>
-<smbconfoption name="comment">Accounting Files</smbconfoption>
-<smbconfoption name="path">/data/accounts</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[service]"/>
-<smbconfoption name="comment">Financial Services Files</smbconfoption>
-<smbconfoption name="path">/data/service</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-</smbconfblock>
-</example>
-
-<example id="ch7-slvsmbocnfB">
-<title>Backup Domain Controller &smb.conf; File &smbmdash; Part B</title>
-<smbconfblock>
-<smbconfsection name="[pidata]"/>
-<smbconfoption name="comment">Property Insurance Files</smbconfoption>
-<smbconfoption name="path">/data/pidata</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[homes]"/>
-<smbconfoption name="comment">Home Directories</smbconfoption>
-<smbconfoption name="valid users">%S</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[printers]"/>
-<smbconfoption name="comment">SMB Print Spool</smbconfoption>
-<smbconfoption name="path">/var/spool/samba</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="printable">Yes</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[apps]"/>
-<smbconfoption name="comment">Application Files</smbconfoption>
-<smbconfoption name="path">/apps</smbconfoption>
-<smbconfoption name="admin users">bjones</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[netlogon]"/>
-<smbconfoption name="comment">Network Logon Service</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/netlogon</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="locking">No</smbconfoption>
-
-<smbconfsection name="[profiles]"/>
-<smbconfoption name="comment">Profile Share</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/profiles</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="profile acls">Yes</smbconfoption>
-
-<smbconfsection name="[profdata]"/>
-<smbconfoption name="comment">Profile Data Share</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/profdata</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="profile acls">Yes</smbconfoption>
-</smbconfblock>
-</example>
-
-       <sect2>
-               <title>Key Points Learned</title>
-
-               <itemizedlist>
-                       <listitem><para>
-                       <indexterm><primary>LDAP</primary></indexterm><indexterm><primary>BDC</primary></indexterm>
-                       Where Samba is used as a domain controller, the use of LDAP is an
-                       essential component to permit the use of BDCs.
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>wide-area</primary></indexterm>
-                       Replication of the LDAP master server to create a network of BDCs
-                       is an important mechanism for limiting WAN traffic.
-                       </para></listitem>
-
-                       <listitem><para>
-                       Network administration presents many complex challenges, most of which
-                       can be satisfied by good design but that also require sound communication
-                       and unification of management practices. This can be highly challenging in
-                       a large, globally distributed network.
-                       </para></listitem>
-
-                       <listitem><para>
-                       Roaming profiles must be contained to the local network segment. Any
-                       departure from this may clog wide-area arteries and slow legitimate network
-                       traffic to a crawl.
-                       </para></listitem>
-               </itemizedlist>
-
-       </sect2>
-
-       <figure id="chap7net">
-               <title>Network Topology &smbmdash; 2000 User Complex Design A</title>
-               <imagefile scale="80">chap7-net-Ar</imagefile>
-       </figure>
-
-       <figure id="chap7net2">
-               <title>Network Topology &smbmdash; 2000 User Complex Design B</title>
-               <imagefile scale="80">chap7-net2-Br</imagefile>
-       </figure>
-
-</sect1>
-
-<sect1>
-       <title>Questions and Answers</title>
-
-       <para>
-       There is much rumor and misinformation regarding the use of MS Windows networking protocols.
-       These questions are just a few of those frequently asked.
-       </para>
-
-       <qandaset defaultlabel="chap07qa" type="number">
-       <qandaentry>
-       <question>
-
-           <para>
-               <indexterm><primary>DHCP</primary></indexterm>
-               <indexterm><primary>network</primary><secondary>bandwidth</secondary></indexterm>
-               Is it true that DHCP uses lots of WAN bandwidth?
-               </para>
-
-       </question>
-       <answer>
-
-           <para>
-               <indexterm><primary>DHCP</primary><secondary>Relay Agent</secondary></indexterm>
-               <indexterm><primary>routers</primary></indexterm>
-               <indexterm><primary>DHCP</primary><secondary>servers</secondary></indexterm>
-               It is a smart practice to localize DHCP servers on each network segment. As a 
-               rule, there should be two DHCP servers per network segment. This means that if
-               one server fails, there is always another to service user needs. DHCP requests use
-               only UDP broadcast protocols. It is possible to run a DHCP Relay Agent on network
-               routers. This makes it possible to run fewer DHCP servers.
-               </para>
-
-           <para>
-               <indexterm><primary>DHCP</primary><secondary>request</secondary></indexterm>
-               <indexterm><primary>DHCP</primary><secondary>traffic</secondary></indexterm>
-               A DHCP network address request and confirmation usually results in about six UDP packets.
-               The packets are from 60 to 568 bytes in length. Let us consider a site that has 300 DHCP
-               clients and that uses a 24-hour IP address lease. This means that all clients renew
-               their IP address lease every 24 hours. If we assume an average packet length equal to the
-               maximum (just to be on the safe side), and we have a 128 Kb/sec wide-area connection, 
-               how significant would the DHCP traffic be if all of it were to use DHCP Relay?
-               </para>
-
-               <para>
-               I must stress that this is a bad design, but here is the calculation:
-<screen>
-Daily Network Capacity: 128,000 (Kbits/s) / 8 (bits/byte) 
-                             x 3600 (sec/hr) x 24 (hrs/day)= 2288 Mbytes/day.
-
-DHCP traffic:          300 (clients) x 6 (packets) 
-                                       x 512 (bytes/packet) = 0.9 Mbytes/day.
-</screen>
-               From this can be seen that the traffic impact would be minimal.
-               </para>
-
-           <para>
-               <indexterm><primary>DNS</primary><secondary>Dynamic</secondary></indexterm>
-               <indexterm><primary>DHCP</primary></indexterm>
-               Even when DHCP is configured to do DNS update (dynamic DNS) over a wide-area link,
-               the impact of the update is no more than the DHCP IP address renewal traffic and thus
-               still insignificant for most practical purposes.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-           <para>
-               <indexterm><primary>background communication</primary></indexterm>
-               <indexterm><primary>LDAP</primary><secondary>master/slave</secondary><tertiary>background communication</tertiary></indexterm>
-               How much background communication takes place between a master LDAP server and its slave LDAP servers?
-               </para>
-
-       </question>
-       <answer>
-
-           <para>
-               <indexterm><primary>slurpd</primary></indexterm>
-               The process that controls the replication of data from the master LDAP server to the slave LDAP
-               servers is called <command>slurpd</command>. The <command>slurpd</command> remains nascent (quiet)
-               until an update must be propagated. The propagation traffic per LDAP slave to update (add/modify/delete)
-               two user accounts requires less than 10KB traffic.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               LDAP has a database. Is LDAP not just a fancy database front end?
-               </para>
-
-       </question>
-       <answer>
-
-           <para>
-               <indexterm><primary>database</primary></indexterm>
-               <indexterm><primary>LDAP</primary><secondary>database</secondary></indexterm>
-               <indexterm><primary>SQL</primary></indexterm>
-               <indexterm><primary>transactional</primary></indexterm>
-               LDAP does store its data in a database of sorts. In fact, the LDAP backend is an application-specific
-               data storage system. This type of database is indexed so that records can be rapidly located, but the
-               database is not generic and can be used only in particular pre-programmed ways. General external
-               applications do not gain access to the data. This type of database is used also by SQL servers. Both
-               an SQL server and an LDAP server provide ways to access the data. An SQL server has a transactional
-               orientation and typically allows external programs to perform ad hoc queries, even across data tables.
-               An LDAP front end is a purpose-built tool that has a search orientation that is designed around specific
-               simple queries. The term <constant>database</constant> is heavily overloaded and thus much misunderstood.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-           <para>
-               <indexterm><primary>OpenLDAP</primary></indexterm>
-               Can Active Directory obtain account information from an OpenLDAP server?
-               </para>
-
-       </question>
-       <answer>
-
-           <para>
-               <indexterm><primary>meta-directory</primary></indexterm>
-               No, at least not directly. It is possible to provision Active Directory from and/or to an OpenLDAP
-               database through use of a metadirectory server. Microsoft MMS (now called MIIS) can interface
-               to OpenLDAP using standard LDAP queries and updates. 
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               What are the parts of a roaming profile? How large is each part?
-               </para>
-
-       </question>
-       <answer>
-
-           <para><indexterm>
-               <primary>roaming profile</primary>
-             </indexterm>
-               A roaming profile consists of
-               </para>
-
-               <itemizedlist>
-                       <listitem><para>
-                       Desktop folders such as <constant>Desktop</constant>, <constant>My Documents</constant>,
-                       <constant>My Pictures</constant>, <constant>My Music</constant>, <constant>Internet Files</constant>,
-                       <constant>Cookies</constant>, <constant>Application Data</constant>,
-                       <constant>Local Settings,</constant> and more. See <link linkend="happy"/>, <link linkend="XP-screen001"/>.
-                       </para>
-
-                       <para>
-                       <indexterm><primary>folder redirection</primary></indexterm>
-                       Each of these can be anywhere from a few bytes to gigabytes in capacity. Fortunately, all
-                       such folders can be redirected to network drive resources. See <link linkend="redirfold"/>
-                       for more information regarding folder redirection.
-                       </para></listitem>
-
-                       <listitem><para>
-                       A static or rewritable portion that is typically only a few files (2-5 KB of information).
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>NTUSER.DAT</primary></indexterm>
-                       <indexterm><primary>HKEY_LOCAL_USER</primary></indexterm>
-                       The registry load file that modifies the <constant>HKEY_LOCAL_USER</constant> hive. This is
-                       the <filename>NTUSER.DAT</filename> file. It can be from 0.4 to 1.5 MB.
-                       </para></listitem>
-               </itemizedlist>
-
-           <para>
-               <indexterm><primary>Microsoft Outlook</primary><secondary>PST files</secondary></indexterm>
-               Microsoft Outlook PST files may be stored in the <constant>Local Settings\Application Data</constant>
-               folder. It can be up to 2 GB in size per PST file.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               Can the <constant>My Documents</constant> folder be stored on a network drive?
-               </para>
-
-       </question>
-       <answer>
-
-           <para>
-               <indexterm><primary>UNC name</primary></indexterm>
-               <indexterm><primary>Universal Naming Convention</primary><see>UNC name</see></indexterm>
-               Yes. More correctly, such folders can be redirected to network shares. No specific network drive
-               connection is required. Registry settings permit this to be redirected directly to a UNC (Universal
-               Naming Convention) resource, though it is possible to specify a network drive letter instead of a
-               UNC name. See <link linkend="redirfold"/>.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-           <para>
-               <indexterm><primary>wide-area</primary></indexterm>
-               <indexterm><primary>network</primary><secondary>bandwidth</secondary></indexterm>
-               <indexterm><primary>WINS</primary></indexterm>
-               How much WAN bandwidth does WINS consume?
-               </para>
-
-       </question>
-       <answer>
-
-           <para>
-               <indexterm><primary>NetBIOS</primary><secondary>name cache</secondary></indexterm>
-               <indexterm><primary>WINS server</primary></indexterm>
-               <indexterm><primary>domain replication</primary></indexterm>
-               MS Windows clients cache information obtained from WINS lookups in a local NetBIOS name cache.
-               This keeps WINS lookups to a minimum. On a network with 3500 MS Windows clients and a central WINS
-               server, the total bandwidth demand measured at the WINS server, averaged over an 8-hour working day,
-               was less than 30 KB/sec. Analysis of network traffic over a 6-week period showed that the total
-               of all background traffic consumed about 11 percent of available bandwidth over 64 Kb/sec links.
-               Background traffic consisted of domain replication, WINS queries, DNS lookups, and authentication
-               traffic. Each of 11 branch offices had a 64 Kb/sec wide-area link, with a 1.5 Mb/sec main connection
-               that aggregated the branch office connections plus an Internet connection.
-               </para>
-
-               <para>
-               In conclusion, the total load afforded through WINS traffic is again marginal to total operational
-               usage &smbmdash; as it should be.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               How many BDCs should I have? What is the right number of Windows clients per server?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               It is recommended to have at least one BDC per network segment, including the segment served
-               by the PDC. Actual requirements vary depending on the working load on each of the BDCs and the
-               load demand pattern of client usage. I have seen sites that function without problem with 200
-               clients served by one BDC, and yet other sites that had one BDC per 20 clients. In one particular
-               company, there was a drafting office that had 30 CAD/CAM operators served by one server, a print
-               server; and an application server. While all three were BDCs, typically only the print server would
-               service network logon requests after the first 10 users had started to use the network. This was
-               a reflection of the service load placed on both the application server and the data server.
-               </para>
-
-               <para>
-               As unsatisfactory as the answer might sound, it all depends on network and server load
-               characteristics.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-           <para>
-               <indexterm><primary>NIS server</primary></indexterm><indexterm><primary>LDAP</primary></indexterm>
-               I've heard that you can store NIS accounts in LDAP. Is LDAP not just a smarter way to
-               run an NIS server?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               The correct answer to both questions is yes. But do understand that an LDAP server has
-               a configurable schema that can store far more information for many more purposes than
-               just NIS.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               Can I use NIS in place of LDAP?
-               </para>
-
-       </question>
-       <answer>
-
-           <para>
-               <indexterm><primary>NIS</primary></indexterm>
-               <indexterm><primary>NIS schema</primary></indexterm>
-               No. The NIS database does not have provision to store Microsoft encrypted passwords and does not deal
-               with the types of data necessary for interoperability with Microsoft Windows networking. The use
-               of LDAP with Samba requires the use of a number of schemas, one of which is the NIS schema, but also
-               a Samba-specific schema extension.
-               </para>
-
-</answer>
-       </qandaentry>
-
-       </qandaset>
-</sect1>
-
-</chapter>
-
diff --git a/docs-xml/Samba3-ByExample/SBE-500UserNetwork.xml b/docs-xml/Samba3-ByExample/SBE-500UserNetwork.xml
deleted file mode 100644 (file)
index 6a2c3ee..0000000
+++ /dev/null
@@ -1,2012 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
-<chapter id="Big500users">
-  <title>The 500-User Office</title>
-
-       <para>
-       The Samba networking you explored in <link linkend="secure"/> covers the finer points of
-       configuration of peripheral services such as DHCP and DNS, and WINS. You experienced
-       implementation of a simple configuration of the services that are important adjuncts 
-       to successful deployment of Samba. 
-       </para>
-
-       <para>
-       An analysis of the history of postings to the Samba mailing list easily demonstrates 
-       that the two most prevalent Samba problem areas are
-       </para>
-
-       <itemizedlist>
-               <listitem><para>
-               Defective resolution of a NetBIOS name to its IP address
-               </para></listitem>
-
-               <listitem><para>
-               Printing problems
-               </para></listitem>
-
-       </itemizedlist>
-
-       <para>
-       The exercises
-       so far in this book have focused on implementation of the simplest printing processes
-       involving  no print job processing intelligence. In this chapter, you maintain 
-       that same approach to printing, but <link linkend="happy"/> presents an opportunity 
-       to make printing more complex for the administrator while making it easier for the user.
-       </para>
-
-       <para>
-       <indexterm><primary>WINS server</primary></indexterm>
-       <indexterm><primary>tdbsam</primary></indexterm>
-       <indexterm><primary>passdb backend</primary></indexterm>
-       <link linkend="secure"/> demonstrates operation of a DHCP server and a DNS server 
-       as well as a central WINS server. You validated the operation of these services and
-       saw an effective implementation of a Samba domain controller using the 
-       <parameter>tdbsam</parameter> passdb backend.
-       </para>
-
-       <para>
-       The objective of this chapter is to introduce more complex techniques that can be used to
-       improve manageability of Samba as networking needs grow. In this chapter, you implement
-       a distributed DHCP server environment, a distributed DNS server arrangement, a centralized
-       WINS server, and a centralized Samba domain controller.
-       </para>
-
-       <para>
-       A note of caution is important regarding the Samba configuration that is used in this
-       chapter. The use of a single domain controller on a routed, multisegment network is 
-       a poor design choice that leads to potential network user complaints. 
-       This chapter demonstrates some successful 
-       techniques in deployment and configuration management. This should be viewed as a 
-       foundation chapter for complex Samba deployments.
-       </para>
-
-       <para>
-       As you master the techniques presented here, you may find much better methods to 
-       improve network management and control while reducing human resource overheads.
-       You should take the opportunity to innovate and expand on the methods presented 
-       here and explore them to the fullest.
-       </para>
-
-<sect1>
-       <title>Introduction</title>
-
-       <para>
-       Business continues to go well for Abmas. Mr. Meany is driving your success and the
-       network continues to grow thanks to the hard work Christine has done. You recently
-       hired Stanley Soroka as manager of information systems. Christine recommended Stan
-       to the role. She told you Stan is so good at handling Samba that he can make a cast
-       iron rocking horse that is embedded in concrete kick like a horse at a rodeo. You
-       need skills like his. Christine and Stan get along just fine. Let's see what 
-       you can get out of this pair as they plot the next-generation networks.
-       </para>
-
-       <para>
-       Ten months ago Abmas closed an acquisition of a property insurance business. The
-       founder lost interest in the business and decided to sell it to Mr. Meany.  Because
-       they were former university classmates, the purchase was concluded with mutual assent.
-       The acquired business is located at the other end of town in much larger facilities.
-       The old Abmas building has become too small. Located on the same campus as the newly
-       acquired business are two empty buildings that are ideal to provide Abmas with
-       opportunity for growth.
-       </para>
-
-       <para>
-       Abmas has now completed the purchase of the two empty buildings, and you are
-       to install a new network and relocate staff in nicely furnished new facilities.
-       The new network is to be used to fully integrate company operations. You have
-       decided to locate the new network operations control center in the larger building
-       in which the insurance group is located to take advantage of an ideal floor space
-       and to allow Stan and Christine to fully stage the new network and test it before
-       it is rolled out. Your strategy is to complete the new network so that it
-       is ready for operation when the old office moves into the new premises.
-       </para>
-
-       <sect2>
-               <title>Assignment Tasks</title>
-
-               <para>
-               The acquired business had 280 network users. The old Abmas building housed
-               220 network users in unbelievably cramped conditions. The network that
-               initially served 130 users now handles 220 users quite well.
-               </para>
-
-               <para>
-               The two businesses will be fully merged to create a single campus company.
-               The Property Insurance Group (PIG) houses 300 employees, the new Accounting
-               Services Group (ASG) will be in a small building (BLDG1) that houses 50 
-               employees, and the Financial Services Group (FSG) will be housed in a large
-               building that has capacity for growth (BLDG2). Building 2 houses 150 network
-               users.
-               </para>
-
-               <para>
-               You have decided to connect the building using fiber optic links between new
-               routers. As a backup, the buildings are interconnected using line-of-sight
-               high-speed infrared facilities. The infrared connection provides a
-               secondary route to be used during periods of high demand for network
-               bandwidth.
-               </para>
-
-               <para>
-               The Internet gateway is upgraded to 15 Mb/sec service. Your ISP
-               provides on your premises a fully managed Cisco PIX firewall. You no longer need
-               to worry about firewall facilities on your network.
-               </para>
-
-               <para>
-               Stanley and Christine have purchased new server hardware. Christine wants to
-               roll out a network that has whistles and bells. Stan wants to start off with
-               a simple to manage, not-too-complex network. He believes that network
-               users need to be gradually introduced to new features and capabilities and not
-               rushed into an environment that may cause disorientation and loss of productivity.
-               </para>
-
-               <para>
-               Your intrepid network team has decided to implement a network configuration
-               that closely mirrors the successful system you installed in the old Abmas building.
-               The new network infrastructure is owned by Abmas, but all desktop systems
-               are being procured through a new out-source services and leasing company. Under
-               the terms of a deal with Mr. M. Proper (CEO), DirectPointe, Inc., provides
-               all desktop systems and includes full level-one help desk support for 
-               a flat per-machine monthly fee. The deal allows you to add workstations on demand.
-               This frees Stan and Christine to deal with deeper issues as they emerge and 
-               permits Stan to work on creating new future value-added services.
-               </para>
-
-               <para>
-               DirectPointe Inc. receives from you a new standard desktop configuration
-               every four months. They automatically roll that out to each desktop system.
-               You must keep DirectPointe informed of all changes.
-               </para>
-
-       <para><indexterm>
-           <primary>PDC</primary>
-         </indexterm>
-               The new network has a single Samba Primary Domain Controller (PDC) located in the
-               Network Operation Center (NOC). Buildings 1 and 2 each have a local server
-               for local application servicing. It is a domain member. The new system
-               uses the <parameter>tdbsam</parameter> passdb backend.
-               </para>
-
-               <para>
-               Printing is based on raw pass-through facilities just as it has been used so far.
-               All printer drivers are installed on the desktop and notebook computers.
-               </para>
-
-       </sect2>
-</sect1>
-
-<sect1>
-       <title>Dissection and Discussion</title>
-
-       <para>
-       <indexterm><primary>network load factors</primary></indexterm>
-       The example you are building in this chapter is of a network design that works, but this
-       does not make it a design that is recommended. As a general rule, there should be at least
-       one Backup Domain Controller (BDC) per 150 Windows network clients. The principle behind
-       this recommendation is that correct operation of MS Windows clients requires rapid
-       network response to all SMB/CIFS requests. The same rule says that if there are more than
-       50 clients per domain controller, they are too busy to service requests. Let's put such
-       rules aside and recognize that network load affects the integrity of domain controller
-       responsiveness. This network will have 500 clients serviced by one central domain
-       controller. This is not a good omen for user satisfaction. You, of course, address this
-       very soon (see <link linkend="happy"/>).
-       </para>
-
-       <sect2>
-               <title>Technical Issues</title>
-
-               <para>
-               Stan has talked you into a horrible compromise, but it is addressed. Just make
-               certain that the performance of this network is well validated before going live.
-               </para>
-
-               <para>
-               Design decisions made in this design include the following:
-               </para>
-
-               <itemizedlist>
-                       <listitem><para>
-                       <indexterm><primary>PDC</primary></indexterm>
-                       <indexterm><primary>LDAP</primary></indexterm>
-                       <indexterm><primary>identity management</primary></indexterm>
-                       A single PDC is being implemented. This limitation is based on the choice not to
-                       use LDAP. Many network administrators fear using LDAP because of the perceived
-                       complexity of implementation and management of an LDAP-based backend for all user
-                       identity management as well as to store network access credentials.
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>BDC</primary></indexterm>
-                       <indexterm><primary>machine secret password</primary></indexterm>
-                       Because of the refusal to use an LDAP (ldapsam) passdb backend at this time, the
-                       only choice that makes sense with 500 users is to use the tdbsam passwd backend. 
-                       This type of backend is not receptive to replication to BDCs.  If the tdbsam
-                       <filename>passdb.tdb</filename> file is replicated to BDCs using
-                       <command>rsync</command>, there are two potential problems: (1) data that is in
-                       memory but not yet written to disk will not be replicated, and (2) domain member
-                       machines periodically change the secret machine password. When this happens, there
-                       is no mechanism to return the changed password to the PDC.
-                       </para></listitem>
-
-                       <listitem><para>
-                       All domain user, group, and machine accounts are managed on the PDC. This makes
-                       for a simple mode of operation but has to be balanced with network performance and
-                       integrity of operations considerations.
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>WINS</primary></indexterm>
-                       A single central WINS server is being used. The PDC is also the WINS server.
-                       Any attempt to operate a routed network without a WINS server while using NetBIOS
-                       over TCP/IP protocols does not work unless on each client the name resolution
-                       entries for the PDC are added to the <filename>LMHOSTS</filename>. This file is
-                       normally located on the Windows XP Professional client in the 
-                       <filename>C:\WINDOWS\SYSTEM32\ETC\DRIVERS</filename> directory.
-                       </para></listitem>
-
-                       <listitem><para>
-                       At this time the Samba WINS database cannot be replicated. That is
-                       why a single WINS server is being implemented. This should work without a problem.
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>winbindd</primary></indexterm>
-                       BDCs make use of <command>winbindd</command> to provide
-                       access to domain security credentials for file system access and object storage.
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>DHCP</primary><secondary>relay</secondary></indexterm>
-                       <indexterm><primary>DHCP</primary><secondary>requests</secondary></indexterm>
-                       Configuration of Windows XP Professional clients is achieved using DHCP. Each
-                       subnet has its own DHCP server. Backup DHCP serving is provided by one
-                       alternate DHCP server. This necessitates enabling of the DHCP Relay agent on
-                       all routers. The DHCP Relay agent must be programmed to pass DHCP Requests from the
-                       network directed at the backup DHCP server.
-                       </para></listitem>
-
-                       <listitem><para>
-                       All network users are granted the ability to print to any printer that is
-                       network-attached. All printers are available from each server. Print jobs that
-                       are spooled to a printer that is not on the local network segment are automatically
-                       routed to the print spooler that is in control of that printer. The specific details
-                       of how this might be done are demonstrated for one example only.
-                       </para></listitem>
-
-                       <listitem><para>
-                       The network address and subnetmask chosen provide 1022 usable IP addresses in
-                       each subnet. If in the future more addresses are required, it would make sense
-                       to add further subnets rather than change addressing.
-                       </para></listitem>
-
-               </itemizedlist>
-
-       </sect2>
-
-
-       <sect2>
-               <title>Political Issues</title>
-
-               <para>
-               This case gets close to the real world. You and I know the right way to implement
-               domain control. Politically, we have to navigate a minefield. In this case, the need is to
-               get the PDC rolled out in compliance with expectations and also to be ready to save the day
-               by having the real solution ready before it is needed. That real solution is presented in
-               <link linkend="happy"/>.
-               </para>
-
-       </sect2>
-
-</sect1>
-
-<sect1>
-       <title>Implementation</title>
-
-       <para>
-       The following configuration process begins following installation of Red Hat Fedora Core2 on the
-       three servers shown in the network topology diagram in <link linkend="chap05net"/>. You have
-       selected hardware that is appropriate to the task.
-       </para>
-
-       <figure id="chap05net">
-               <title>Network Topology &smbmdash; 500 User Network Using tdbsam passdb backend.</title>
-               <imagefile scale="50">chap5-net</imagefile>
-       </figure>
-
-       <sect2 id="ch5-dnshcp-setup">
-       <title>Installation of DHCP, DNS, and Samba Control Files</title>
-
-       <para>
-       Carefully install the configuration files into the correct locations as shown in 
-       <link linkend="ch5-filelocations"/>. You should validate that the full file path is
-       correct as shown.
-       </para>
-
-       <para>
-       The abbreviation shown in this table as <constant>{VLN}</constant> refers to
-       the directory location beginning with <filename>/var/lib/named</filename>.
-       </para>
-
-
-       <table id="ch5-filelocations"><title>Domain: <constant>MEGANET</constant>, File Locations for Servers</title>
-               <tgroup cols="5">
-                       <colspec colname='c1' align="left"/>
-                       <colspec colname='c2' align="left"/>
-                       <colspec colname='c3' align="center"/>
-                       <colspec colname='c4' align="center"/>
-                       <colspec colname='c5' align="center"/>
-                       <thead>
-                               <row>
-                                       <entry align="center" namest='c1' nameend='c2'>File Information</entry>
-                                       <entry align="center" namest="c3" nameend="c5">Server Name</entry>
-                               </row>
-                               <row>
-                                       <entry align="center">Source</entry>
-                                       <entry align="center">Target Location</entry>
-                                       <entry align="center">MASSIVE</entry>
-                                       <entry align="center">BLDG1</entry>
-                                       <entry align="center">BLDG2</entry>
-                               </row>
-                       </thead>
-                       <tbody>
-                               <row>
-                                       <entry><link linkend="ch5-massivesmb"/></entry>
-                                       <entry><filename>/etc/samba/smb.conf</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="ch5-dc-common"/></entry>
-                                       <entry><filename>/etc/samba/dc-common.conf</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="ch5-commonsmb"/></entry>
-                                       <entry><filename>/etc/samba/common.conf</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="ch5-bldg1-smb"/></entry>
-                                       <entry><filename>/etc/samba/smb.conf</filename></entry>
-                                       <entry>No</entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="ch5-bldg2-smb"/></entry>
-                                       <entry><filename>/etc/samba/smb.conf</filename></entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="ch5-dommem-smb"/></entry>
-                                       <entry><filename>/etc/samba/dommem.conf</filename></entry>
-                                       <entry>No</entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="massive-dhcp"/></entry>
-                                       <entry><filename>/etc/dhcpd.conf</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="bldg1dhcp"/></entry>
-                                       <entry><filename>/etc/dhcpd.conf</filename></entry>
-                                       <entry>No</entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="bldg2dhcp"/></entry>
-                                       <entry><filename>/etc/dhcpd.conf</filename></entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="massive-nameda"/></entry>
-                                       <entry><filename>/etc/named.conf (part A)</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="massive-namedb"/></entry>
-                                       <entry><filename>/etc/named.conf (part B)</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="massive-namedc"/></entry>
-                                       <entry><filename>/etc/named.conf (part C)</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="abmasbizdns"/></entry>
-                                       <entry><filename>{VLN}/master/abmas.biz.hosts</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="abmasusdns"/></entry>
-                                       <entry><filename>{VLN}/master/abmas.us.hosts</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>No</entry>
-                                       <entry>No</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="bldg12nameda"/></entry>
-                                       <entry><filename>/etc/named.conf (part A)</filename></entry>
-                                       <entry>No</entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="bldg12namedb"/></entry>
-                                       <entry><filename>/etc/named.conf (part B)</filename></entry>
-                                       <entry>No</entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="loopback"/></entry>
-                                       <entry><filename>{VLN}/localhost.zone</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="dnsloopy"/></entry>
-                                       <entry><filename>{VLN}/127.0.0.zone</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                               <row>
-                                       <entry><link linkend="roothint"/></entry>
-                                       <entry><filename>{VLN}/root.hint</filename></entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                                       <entry>Yes</entry>
-                               </row>
-                       </tbody>
-               </tgroup>
-       </table>
-
-       </sect2>
-
-       <sect2>
-       <title>Server Preparation: All Servers</title>
-
-       <para>
-       The following steps apply to all servers. Follow each step carefully.
-       </para>
-
-               <procedure>
-               <title>Server Preparation Steps</title>
-
-                       <step><para>
-                       Using the UNIX/Linux system tools, set the name of the server as shown in the network
-                       topology diagram in <link linkend="chap05net"/>. For SUSE Linux products, the tool
-                       that permits this is called <command>yast2</command>; for Red Hat Linux products,
-                       you can use the <command>netcfg</command> tool.
-                       Verify that your hostname is correctly set by running:
-<screen>
-&rootprompt; uname -n
-</screen>
-                       An alternate method to verify the hostname is:
-<screen>
-&rootprompt; hostname -f
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>/etc/hosts</primary></indexterm>
-                       <indexterm><primary>named</primary></indexterm>
-                       Edit your <filename>/etc/hosts</filename> file to include the primary names and addresses
-                       of all network interfaces that are on the host server. This is necessary so that during
-                       startup the system is able to resolve all its own names to the IP address prior to
-                       startup of the DNS server. You should check the startup order of your system. If the 
-                       CUPS print server is started before the DNS server (<command>named</command>), you 
-                       should also include an entry for the printers in the <filename>/etc/hosts</filename> file.
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>/etc/resolv.conf</primary></indexterm>
-                       All DNS name resolution should be handled locally. To ensure that the server is configured
-                       correctly to handle this, edit <filename>/etc/resolv.conf</filename> so it has the following
-                       content:
-<screen>
-search abmas.us abmas.biz
-nameserver 127.0.0.1
-</screen>
-                       This instructs the name resolver function (when configured correctly) to ask the DNS server
-                       that is running locally to resolve names to addresses.
-                       </para></step>
-
-
-                       <step><para>
-                       <indexterm><primary>administrator</primary></indexterm>
-                       <indexterm><primary>smbpasswd</primary></indexterm>
-                       Add the <constant>root</constant> user to the password backend:
-<screen>
-&rootprompt; smbpasswd -a root
-New SMB password: XXXXXXXX
-Retype new SMB password: XXXXXXXX
-&rootprompt;
-</screen>
-                       The <constant>root</constant> account is the UNIX equivalent of the Windows domain administrator.
-                       This account is essential in the regular maintenance of your Samba server. It must never be
-                       deleted. If for any reason the account is deleted, you may not be able to recreate this account
-                       without considerable trouble.
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>username map</primary></indexterm>
-                       <indexterm><primary>/etc/samba/smbusers</primary></indexterm>
-                       Create the username map file to permit the <constant>root</constant> account to be called
-                       <constant>Administrator</constant> from the Windows network environment. To do this, create
-                       the file <filename>/etc/samba/smbusers</filename> with the following contents:
-<screen>
-####
-# User mapping file
-####
-# File Format
-# -----------
-# Unix_ID = Windows_ID
-#
-# Examples:
-# root = Administrator
-# janes = "Jane Smith"
-# jimbo = Jim Bones
-#
-# Note: If the name contains a space it must be double quoted.
-#       In the example above the name 'jimbo' will be mapped to Windows
-#       user names 'Jim' and 'Bones' because the space was not quoted.
-#######################################################################
-root = Administrator
-####
-# End of File
-####
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       Configure all network-attached printers to have a fixed IP address.
-                       </para></step>
-
-                       <step><para>
-                       Create an entry in the DNS database on the server <constant>MASSIVE</constant>
-                       in both the forward lookup database for the zone <constant>abmas.biz.hosts</constant>
-                       and in the reverse lookup database for the network segment that the printer is
-                       located in. Example configuration files for similar zones were presented in <link linkend="secure"/>,
-                       <link linkend="abmasbiz"/> and <link linkend="eth2zone"/>.
-                       </para></step>
-
-                       <step><para>
-                       Follow the instructions in the printer manufacturer's manuals to permit printing 
-                       to port 9100.  Use any other port the manufacturer specifies for direct mode, 
-                       raw printing.  This allows the CUPS spooler to print using raw mode protocols.
-                       <indexterm><primary>CUPS</primary></indexterm>
-                       <indexterm><primary>raw printing</primary></indexterm>
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>CUPS</primary><secondary>queue</secondary></indexterm>
-                       Only on the server to which the printer is attached configure the CUPS Print 
-                       Queues as follows:
-<screen>
-&rootprompt; lpadmin -p <parameter>printque</parameter> -v socket://<parameter>printer-name</parameter>.abmas.biz:9100 -E
-</screen>
-                       <indexterm><primary>print filter</primary></indexterm>
-                       This step creates the necessary print queue to use no assigned print filter. This
-                       is ideal for raw printing, that is, printing without use of filters.
-                       The name <parameter>printque</parameter> is the name you have assigned for
-                       the particular printer.
-                       </para></step>
-
-                       <step><para>
-                       Print queues may not be enabled at creation. Make certain that the queues
-                       you have just created are enabled by executing the following:
-<screen>
-&rootprompt; /usr/bin/enable <parameter>printque</parameter>
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       Even though your print queue may be enabled, it is still possible that it
-                       does not accept print jobs. A print queue services incoming printing
-                       requests only when configured to do so. Ensure that your print queue is
-                       set to accept incoming jobs by executing the following command:
-<screen>
-&rootprompt; /usr/bin/accept <parameter>printque</parameter>
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>mime type</primary></indexterm>
-                       <indexterm><primary>/etc/mime.convs</primary></indexterm>
-                       <indexterm><primary>application/octet-stream</primary></indexterm>
-                       This step, as well as the next one, may be omitted where CUPS version 1.1.18
-                       or later is in use.  Although it does no harm to follow it anyway, and may
-                       help to avoid time spent later trying to figure out why print jobs may be
-                       disappearing without a trace. Look at these two steps as <emphasis>insurance</emphasis>
-                       against lost time. Edit file <filename>/etc/cups/mime.convs</filename> to 
-                       uncomment the line:
-<screen>
-application/octet-stream     application/vnd.cups-raw      0     -
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>/etc/mime.types</primary></indexterm>
-                       Edit the file <filename>/etc/cups/mime.types</filename> to uncomment the line:
-<screen>
-application/octet-stream
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       Refer to the CUPS printing manual for instructions regarding how to configure
-                       CUPS so that print queues that reside on CUPS servers on remote networks
-                       route print jobs to the print server that owns that queue. The default setting
-                       on your CUPS server may automatically discover remotely installed printers and
-                       may permit this functionality without requiring specific configuration.
-                       </para></step>
-
-                       <step><para>
-                       As part of the roll-out program, you need to configure the application's
-                       server shares. This can be done once on the central server and may then be
-                       replicated using a tool such as <command>rsync</command>. Refer to the man
-                       page for <command>rsync</command> for details regarding use. The notes in       
-                       <link linkend="ch4appscfg"/> may help in your decisions to use an application
-                       server facility.
-                       </para></step>
-
-               </procedure>
-
-       <note><para>
-       Logon scripts that are run from a domain controller (PDC or BDC) are capable of using semi-intelligent
-       processes to automap Windows client drives to an application server that is nearest to the client. This
-       is considerably more difficult when a single PDC is used on a routed network. It can be done, but not
-       as elegantly as you see in the next chapter.
-       </para></note>
-
-       </sect2>
-
-       <sect2>
-       <title>Server-Specific Preparation</title>
-
-       <para>
-       There are some steps that apply to particular server functionality only. Each step is critical
-       to correct server operation. The following step-by-step installation guidance will assist you 
-       in working through the process of configuring the PDC and then both BDC's.
-       </para>
-
-               <sect3>
-               <title>Configuration for Server: <constant>MASSIVE</constant></title>
-
-               <para>
-               The steps presented here attempt to implement Samba installation in a generic manner. While
-               some steps are clearly specific to Linux, it should not be too difficult to apply them to
-               your platform of choice.
-               </para>
-
-               <procedure>
-               <title>Primary Domain Controller Preparation</title>
-
-                       <step><para>
-                       <indexterm><primary>/etc/rc.d/boot.local</primary></indexterm>
-                       <indexterm><primary>IP forwarding</primary></indexterm>
-                       The host server acts as a router between the two internal network segments as well
-                       as for all Internet access. This necessitates that IP forwarding be enabled. This can be
-                       achieved by adding to the <filename>/etc/rc.d/boot.local</filename> an entry as follows:
-<screen>
-echo 1 > /proc/sys/net/ipv4/ip_forward
-</screen>
-                       To ensure that your kernel is capable of IP forwarding during configuration, you may wish to execute
-                       that command manually also. This setting permits the Linux system to act as a router.
-                       </para></step>
-
-                       <step><para>
-                       This server is dual hosted (i.e., has two network interfaces) &smbmdash; one goes to the Internet
-                       and the other to a local network that has a router that is the gateway to the remote networks.
-                       You must therefore configure the server with route table entries so that it can find machines
-                       on the remote networks. You can do this using the appropriate system tools for your Linux
-                       server or using static entries that you place in one of the system startup files. It is best
-                       to always use the tools that the operating system vendor provided. In the case of SUSE Linux, the
-                       best tool to do this is YaST (refer to SUSE Administration Manual); in the case of Red Hat,
-                       this is best done using the graphical system configuration tools (see the Red Hat documentation).
-                       An example of how this may be done manually is as follows:
-<screen>
-&rootprompt; route add net 172.16.4.0 netmask 255.255.252.0 gw 172.16.0.128
-&rootprompt; route add net 172.16.8.0 netmask 255.255.252.0 gw 172.16.0.128
-</screen>
-                       If you just execute these commands manually, the route table entries you have created are
-                       not persistent across system reboots. You may add these commands directly to the local
-                       startup files as follows: (SUSE) <filename>/etc/rc.d/boot.local</filename>, (Red Hat)
-                       <filename>/etc/rc.d/init.d/rc.local</filename>.
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>/etc/nsswitch.conf</primary></indexterm>
-                       The final step that must be completed is to edit the <filename>/etc/nsswitch.conf</filename> file.
-                       This file controls the operation of the various resolver libraries that are part of the Linux
-                       Glibc libraries. Edit this file so that it contains the following entries:
-<screen>
-hosts:      files dns wins
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>initGrps.sh</primary></indexterm>
-                       Create and map Windows domain groups to UNIX groups. A sample script is provided in
-                       <link linkend="ch5-initgrps"/>. Create a file containing this script. You called yours
-                       <filename>/etc/samba/initGrps.sh</filename>. Set this file so it can be executed
-                       and then execute the script. An example of the execution of this script as well as its
-                       validation are shown in Section 4.3.2, Step 5.
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>/etc/passwd</primary></indexterm>
-                       <indexterm><primary>password</primary><secondary>backend</secondary></indexterm>
-                       <indexterm><primary>smbpasswd</primary></indexterm>
-                       For each user who needs to be given a Windows domain account, make an entry in the
-                       <filename>/etc/passwd</filename> file as well as in the Samba password backend.
-                       Use the system tool of your choice to create the UNIX system account, and use the Samba
-                       <command>smbpasswd</command> to create a domain user account.
-                       </para>
-
-                       <para>
-                       <indexterm><primary>useradd</primary></indexterm>
-                       <indexterm><primary>adduser</primary></indexterm>
-                       <indexterm><primary>user</primary><secondary>management</secondary></indexterm>
-                       There are a number of tools for user management under UNIX, such as
-                       <command>useradd</command>, <command>adduser</command>, as well as a plethora of custom
-                       tools. With the tool of your choice, create a home directory for each user.
-                       </para></step>
-
-                       <step><para>
-                       Using the preferred tool for your UNIX system, add each user to the UNIX groups created
-                       previously as necessary. File system access control is based on UNIX group membership.
-                       </para></step>
-
-                       <step><para>
-                       Create the directory mount point for the disk subsystem that is to be mounted to provide
-                       data storage for company files, in this case, the mount point indicated in the &smb.conf;
-                       file is <filename>/data</filename>. Format the file system as required and mount the formatted
-                       file system partition using appropriate system tools.
-                       </para></step>
-
-                       <step><para>
-               <indexterm><primary>file system</primary>
-                 <secondary>permissions</secondary></indexterm>
-                       Create the top-level file storage directories for data and applications as follows:
-<screen>
-&rootprompt; mkdir -p /data/{accounts,finsvcs,pidata}
-&rootprompt; mkdir -p /apps
-&rootprompt; chown -R root:root /data
-&rootprompt; chown -R root:root /apps
-&rootprompt; chown -R bjordan:accounts /data/accounts
-&rootprompt; chown -R bjordan:finsvcs /data/finsvcs
-&rootprompt; chown -R bjordan:finsvcs /data/pidata
-&rootprompt; chmod -R ug+rwxs,o-rwx /data
-&rootprompt; chmod -R ug+rwx,o+rx-w /apps
-</screen>
-                       Each department is responsible for creating its own directory structure within the departmental
-                       share. The directory root of the <command>accounts</command> share is <filename>/data/accounts</filename>.
-                       The directory root of the <command>finsvcs</command> share is <filename>/data/finsvcs</filename>.
-                       The <filename>/apps</filename> directory is the root of the <constant>apps</constant> share
-                       that provides the application server infrastructure.
-                       </para></step>
-
-                       <step><para>
-                       The &smb.conf; file specifies an infrastructure to support roaming profiles and network
-                       logon services. You can now create the file system infrastructure to provide the
-                       locations on disk that these services require. Adequate planning is essential
-                       because desktop profiles can grow to be quite large. For planning purposes, a minimum of
-                       200 MB of storage should be allowed per user for profile storage. The following
-                       commands create the directory infrastructure needed:
-<screen>
-&rootprompt; mkdir -p /var/spool/samba
-&rootprompt; mkdir -p /var/lib/samba/{netlogon/scripts,profiles}
-&rootprompt; chown -R root:root /var/spool/samba
-&rootprompt; chown -R root:root /var/lib/samba
-&rootprompt; chmod a+rwxt /var/spool/samba
-</screen>
-                       For each user account that is created on the system, the following commands should be
-                       executed:
-<screen>
-&rootprompt; mkdir /var/lib/samba/profiles/'username'
-&rootprompt; chown 'username':users /var/lib/samba/profiles/'username'
-&rootprompt; chmod ug+wrx,o+rx,-w /var/lib/samba/profiles/'username'
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>unix2dos</primary></indexterm>
-                       <indexterm><primary>dos2unix</primary></indexterm>
-                       Create a logon script. It is important that each line is correctly terminated with
-                       a carriage return and line-feed combination (i.e., DOS encoding). The following procedure
-                       works if the right tools (<constant>unxi2dos</constant> and <constant>dos2unix</constant>) are installed.
-                       First, create a file called <filename>/var/lib/samba/netlogon/scripts/logon.bat.unix</filename>
-                       with the following contents:
-<screen>
-net time \\massive /set /yes
-net use h: /home
-</screen>
-                       Convert the UNIX file to a DOS file:
-<screen>
-&rootprompt; dos2unix &lt; /var/lib/samba/netlogon/scripts/logon.bat.unix \
-        &gt; /var/lib/samba/netlogon/scripts/logon.bat
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       There is one preparatory step without which you cannot have a working Samba network
-                       environment. You must add an account for each network user. You can do this by executing
-                       the following steps for each user:
-<screen>
-&rootprompt; useradd -m <parameter>username</parameter>
-&rootprompt; passwd <parameter>username</parameter>
-Changing password for <parameter>username</parameter>.
-New password: XXXXXXXX
-Re-enter new password: XXXXXXXX
-Password changed
-&rootprompt; smbpasswd -a <parameter>username</parameter>
-New SMB password: XXXXXXXX
-Retype new SMB password: XXXXXXXX
-Added user <parameter>username</parameter>.
-</screen>
-                       You do, of course, use a valid user login ID in place of <parameter>username</parameter>.
-                       </para></step>
-
-                       <step><para>
-                       Follow the processes shown in <link linkend="ch5-procstart"/> to start all services.
-                       </para></step>
-
-                       <step><para>
-                       Your server is ready for validation testing. Do not proceed with the steps in
-                       <link linkend="ch5-domsvrspec"/> until after the operation of the server has been
-                       validated following the same methods as outlined in <link linkend="secure"/>, <link linkend="ch4valid"/>.
-                       </para></step>
-
-               </procedure>
-               
-               </sect3>
-
-               <sect3 id="ch5-domsvrspec">
-               <title>Configuration Specific to Domain Member Servers: <constant>BLDG1, BLDG2</constant></title>
-
-               <para>
-               The following steps will guide you through the nuances of implementing BDCs for the broadcast
-               isolated network segments. Remember that if the target installation platform is not Linux, it may
-               be necessary to adapt some commands to the equivalent on the target platform.
-               </para>
-
-               <procedure>
-               <title>Backup Domain Controller Configuration Steps</title>
-
-                       <step><para>
-                       <indexterm><primary>/etc/nsswitch.conf</primary></indexterm>
-                       The final step that must be completed is to edit the <filename>/etc/nsswitch.conf</filename> file.
-                       This file controls the operation of the various resolver libraries that are part of the Linux
-                       Glibc libraries. Edit this file so that it contains the following entries:
-<screen>
-passwd:     files winbind
-group:      files winbind
-hosts:      files dns wins
-</screen>
-                        </para></step>
-
-                       <step><para>
-                       Follow the steps outlined in <link linkend="ch5-procstart"/> to start all services. Do not
-                       start Samba at this time. Samba is controlled by the process called <command>smb</command>.
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>net</primary><secondary>rpc</secondary><tertiary>join</tertiary></indexterm>
-                       You must now attempt to join the domain member servers to the domain. The following
-                       instructions should be executed to effect this:
-<screen>
-&rootprompt; net rpc join 
-</screen>
-                       </para></step>
-
-                       <step><para>
-                       <indexterm><primary>service</primary><secondary>smb</secondary><tertiary>start</tertiary></indexterm>
-                       You now start the Samba services by executing:
-<screen>
-&rootprompt; service smb start
-</screen>
-                       </para></step>
-
-                        <step><para>
-                        Your server is ready for validation testing. Do not proceed with the steps in
-                        <link linkend="ch5-domsvrspec"/> until after the operation of the server has been
-                        validated following the same methods as outlined in <link linkend="ch4valid"/>.
-                        </para></step>
-
-               </procedure>
-
-               </sect3>
-
-       </sect2>
-
-<!-- One -->
-<example id="ch5-massivesmb">
-<title>Server: MASSIVE (PDC), File: <filename>/etc/samba/smb.conf</filename></title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="workgroup">MEGANET</smbconfoption>
-<smbconfoption name="netbios name">MASSIVE</smbconfoption>
-<smbconfoption name="interfaces">eth1, lo</smbconfoption>
-<smbconfoption name="bind interfaces only">Yes</smbconfoption>
-<smbconfoption name="passdb backend">tdbsam</smbconfoption>
-<smbconfoption name="smb ports">139</smbconfoption>
-<smbconfoption name="add user script">/usr/sbin/useradd -m '%u'</smbconfoption>
-<smbconfoption name="delete user script">/usr/sbin/userdel -r '%u'</smbconfoption>
-<smbconfoption name="add group script">/usr/sbin/groupadd '%g'</smbconfoption>
-<smbconfoption name="delete group script">/usr/sbin/groupdel '%g'</smbconfoption>
-<smbconfoption name="add user to group script">/usr/sbin/usermod -G '%g' '%u'</smbconfoption>
-<smbconfoption name="add machine script">/usr/sbin/useradd -s /bin/false -d /var/lib/nobody '%u'</smbconfoption>
-<smbconfoption name="preferred master">Yes</smbconfoption>
-<smbconfoption name="wins support">Yes</smbconfoption>
-<smbconfoption name="include">/etc/samba/dc-common.conf</smbconfoption>
-
-<smbconfsection name="[accounts]"/>
-<smbconfoption name="comment">Accounting Files</smbconfoption>
-<smbconfoption name="path">/data/accounts</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[service]"/>
-<smbconfoption name="comment">Financial Services Files</smbconfoption>
-<smbconfoption name="path">/data/service</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-
-<smbconfsection name="[pidata]"/>
-<smbconfoption name="comment">Property Insurance Files</smbconfoption>
-<smbconfoption name="path">/data/pidata</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-</smbconfblock>
-</example>
-
-<!-- Two -->
-<example id="ch5-dc-common">
-<title>Server: MASSIVE (PDC), File: <filename>/etc/samba/dc-common.conf</filename></title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="shutdown script">/var/lib/samba/scripts/shutdown.sh</smbconfoption>
-<smbconfoption name="abort shutdown script">/sbin/shutdown -c</smbconfoption>
-<smbconfoption name="logon script">scripts\logon.bat</smbconfoption>
-<smbconfoption name="logon path">\%L\profiles\%U</smbconfoption>
-<smbconfoption name="logon drive">X:</smbconfoption>
-<smbconfoption name="logon home">\%L\%U</smbconfoption>
-<smbconfoption name="domain logons">Yes</smbconfoption>
-<smbconfoption name="preferred master">Yes</smbconfoption>
-<smbconfoption name="include">/etc/samba/common.conf</smbconfoption>
-
-<smbconfsection name="[homes]"/>
-<smbconfoption name="comment">Home Directories</smbconfoption>
-<smbconfoption name="valid users">%S</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[netlogon]"/>
-<smbconfoption name="comment">Network Logon Service</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/netlogon</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="locking">No</smbconfoption>
-
-<smbconfsection name="[profiles]"/>
-<smbconfoption name="comment">Profile Share</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/profiles</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="profile acls">Yes</smbconfoption>
-</smbconfblock>
-</example>
-
-<!-- Three -->
-<example id="ch5-commonsmb">
-<title>Common Samba Configuration File: <filename>/etc/samba/common.conf</filename></title>
-<smbconfblock>
-<smbconfsection name="[global]"/>
-<smbconfoption name="username map">/etc/samba/smbusers</smbconfoption>
-<smbconfoption name="log level">1</smbconfoption>
-<smbconfoption name="syslog">0</smbconfoption>
-<smbconfoption name="log file">/var/log/samba/%m</smbconfoption>
-<smbconfoption name="max log size">50</smbconfoption>
-<smbconfoption name="smb ports">139</smbconfoption>
-<smbconfoption name="name resolve order">wins bcast hosts</smbconfoption>
-<smbconfoption name="time server">Yes</smbconfoption>
-<smbconfoption name="printcap name">CUPS</smbconfoption>
-<smbconfoption name="show add printer wizard">No</smbconfoption>
-<smbconfoption name="shutdown script">/var/lib/samba/scripts/shutdown.sh</smbconfoption>
-<smbconfoption name="abort shutdown script">/sbin/shutdown -c</smbconfoption>
-<smbconfoption name="utmp">Yes</smbconfoption>
-<smbconfoption name="map acl inherit">Yes</smbconfoption>
-<smbconfoption name="printing">cups</smbconfoption>
-<smbconfoption name="veto files">/*.eml/*.nws/*.{*}/</smbconfoption>
-<smbconfoption name="veto oplock files">/*.doc/*.xls/*.mdb/</smbconfoption>
-<smbconfoption name="include"> </smbconfoption>
-
-<smbconfcomment>Share and Service Definitions are common to all servers</smbconfcomment>
-<smbconfsection name="[printers]"/>
-<smbconfoption name="comment">SMB Print Spool</smbconfoption>
-<smbconfoption name="path">/var/spool/samba</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="printable">Yes</smbconfoption>
-<smbconfoption name="use client driver">Yes</smbconfoption>
-<smbconfoption name="default devmode">Yes</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[apps]"/>
-<smbconfoption name="comment">Application Files</smbconfoption>
-<smbconfoption name="path">/apps</smbconfoption>
-<smbconfoption name="admin users">bjordan</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-</smbconfblock>
-</example>
-
-<!-- Four -->
-<example id="ch5-bldg1-smb">
-<title>Server: BLDG1 (Member), File: smb.conf</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="workgroup">MEGANET</smbconfoption>
-<smbconfoption name="netbios name">BLDG1</smbconfoption>
-<smbconfoption name="include">/etc/samba/dom-mem.conf</smbconfoption>
-</smbconfblock>
-</example>
-
-<!-- Five -->
-<example id="ch5-bldg2-smb">
-<title>Server: BLDG2 (Member), File: smb.conf</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="workgroup">MEGANET</smbconfoption>
-<smbconfoption name="netbios name">BLDG2</smbconfoption>
-<smbconfoption name="include">/etc/samba/dom-mem.conf</smbconfoption>
-</smbconfblock>
-</example>
-
-<!-- Six -->
-<example id="ch5-dommem-smb">
-<title>Common Domain Member Include File: dom-mem.conf</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="shutdown script">/var/lib/samba/scripts/shutdown.sh</smbconfoption>
-<smbconfoption name="abort shutdown script">/sbin/shutdown -c</smbconfoption>
-<smbconfoption name="preferred master">Yes</smbconfoption>
-<smbconfoption name="wins server">172.16.0.1</smbconfoption>
-<smbconfoption name="idmap uid">15000-20000</smbconfoption>
-<smbconfoption name="idmap gid">15000-20000</smbconfoption>
-<smbconfoption name="include">/etc/samba/common.conf</smbconfoption>
-</smbconfblock>
-</example>
-
-<!-- Seven -->
-<example id="massive-dhcp">
-<title>Server: MASSIVE, File: dhcpd.conf</title>
-<screen>
-# Abmas Accounting Inc.
-
-default-lease-time 86400;
-max-lease-time 172800;
-default-lease-time 86400;
-ddns-updates on;
-ddns-update-style interim;
-
-option ntp-servers 172.16.0.1;
-option domain-name "abmas.biz";
-option domain-name-servers 172.16.0.1, 172.16.4.1;
-option netbios-name-servers 172.16.0.1;
-option netbios-node-type 8;
-
-subnet 172.16.1.0 netmask 255.255.252.0 {
-        range dynamic-bootp 172.16.1.0 172.16.2.255;
-        option subnet-mask 255.255.252.0;
-        option routers 172.16.0.1, 172.16.0.128;
-        allow unknown-clients;
-       }
-subnet 172.16.4.0 netmask 255.255.252.0 {
-        range dynamic-bootp 172.16.7.0 172.16.7.254;
-        option subnet-mask 255.255.252.0;
-        option routers 172.16.4.128;
-        allow unknown-clients;
-       }
-subnet 172.16.8.0 netmask 255.255.252.0 {
-        range dynamic-bootp 172.16.11.0 172.16.11.254;
-        option subnet-mask 255.255.252.0;
-        option routers 172.16.4.128;
-        allow unknown-clients;
-       }
-subnet 127.0.0.0 netmask 255.0.0.0 {
-        }
-subnet 123.45.67.64 netmask 255.255.255.252 {
-        }
-</screen>
-</example>
-
-<!-- Eight -->
-<example id="bldg1dhcp">
-<title>Server: BLDG1, File: dhcpd.conf</title>
-<screen>
-# Abmas Accounting Inc.
-
-default-lease-time 86400;
-max-lease-time 172800;
-default-lease-time 86400;
-ddns-updates on;
-ddns-update-style ad-hoc;
-
-option ntp-servers 172.16.0.1;
-option domain-name "abmas.biz";
-option domain-name-servers 172.16.0.1, 172.16.4.1;
-option netbios-name-servers 172.16.0.1;
-option netbios-node-type 8;
-
-subnet 172.16.1.0 netmask 255.255.252.0 {
-        range dynamic-bootp 172.16.3.0 172.16.3.255;
-        option subnet-mask 255.255.252.0;
-        option routers 172.16.0.1, 172.16.0.128;
-        allow unknown-clients;
-       }
-subnet 172.16.4.0 netmask 255.255.252.0 {
-        range dynamic-bootp 172.16.5.0 172.16.6.255;
-        option subnet-mask 255.255.252.0;
-        option routers 172.16.4.128;
-        allow unknown-clients;
-       }
-subnet 127.0.0.0 netmask 255.0.0.0 {
-        }
-</screen>
-</example>
-
-<!-- Nine -->
-<example id="bldg2dhcp">
-<title>Server: BLDG2, File: dhcpd.conf</title>
-<screen>
-# Abmas Accounting Inc.
-
-default-lease-time 86400;
-max-lease-time 172800;
-default-lease-time 86400;
-ddns-updates on;
-ddns-update-style interim;
-
-option ntp-servers 172.16.0.1;
-option domain-name "abmas.biz";
-option domain-name-servers 172.16.0.1, 172.16.4.1;
-option netbios-name-servers 172.16.0.1;
-option netbios-node-type 8;
-
-subnet 172.16.8.0 netmask 255.255.252.0 {
-        range dynamic-bootp 172.16.9.0 172.16.10.255;
-        option subnet-mask 255.255.252.0;
-        option routers 172.16.8.128;
-        allow unknown-clients;
-       }
-subnet 127.0.0.0 netmask 255.0.0.0 {
-        }
-</screen>
-</example>
-
-<!-- Ten -->
-<example id="massive-nameda">
-<title>Server: MASSIVE, File: named.conf, Part: A</title>
-<screen>
-###
-# Abmas Biz DNS Control File
-###
-# Date: November 15, 2003
-###
-options {
-       directory "/var/lib/named";
-       forwarders {
-               123.45.12.23;
-               123.45.54.32;
-               };
-       forward first;
-       listen-on {
-               mynet;
-               };
-       auth-nxdomain yes;
-       multiple-cnames yes;
-       notify no;
-};
-
-zone "." in {
-       type hint;
-       file "root.hint";
-};
-
-zone "localhost" in {
-       type master;
-       file "localhost.zone";
-};
-
-zone "0.0.127.in-addr.arpa" in {
-       type master;
-       file "127.0.0.zone";
-};
-
-acl mynet {
-       172.16.0.0/24;
-       172.16.4.0/24;
-       172.16.8.0/24;
-       127.0.0.1;
-};
-
-acl seconddns {
-        123.45.54.32;
-};
-</screen>
-</example>
-
-<!-- Eleven -->
-<example id="massive-namedb">
-<title>Server: MASSIVE, File: named.conf, Part: B</title>
-<screen>
-zone "abmas.biz" {
-       type master;
-       file "/var/lib/named/master/abmas.biz.hosts";
-       allow-query {
-               mynet;
-       };
-       allow-transfer {
-               mynet;
-       };
-       allow-update {
-               mynet;
-       };
-};
-
-zone "abmas.us" {
-        type master;
-        file "/var/lib/named/master/abmas.us.hosts";
-        allow-query {
-                all;
-        };
-        allow-transfer {
-                seconddns;
-        };
-};
-</screen>
-</example>
-
-<!-- Twelve -->
-<example id="massive-namedc">
-<title>Server: MASSIVE, File: named.conf, Part: C</title>
-<screen>
-zone "0.16.172.in-addr.arpa" {
-       type master;
-       file "/var/lib/named/master/172.16.0.0.rev";
-       allow-query {
-               mynet;
-       };
-       allow-transfer {
-               mynet;
-       };
-       allow-update {
-               mynet;
-       };
-};
-
-zone "4.16.172.in-addr.arpa" {
-       type master;
-       file "/var/lib/named/master/172.16.4.0.rev";
-       allow-query {
-               mynet;
-       };
-       allow-transfer {
-               mynet;
-       };
-       allow-update {
-               mynet;
-       };
-};
-
-zone "8.16.172.in-addr.arpa" {
-       type master;
-       file "/var/lib/named/master/172.16.8.0.rev";
-       allow-query {
-               mynet;
-       };
-       allow-transfer {
-               mynet;
-       };
-       allow-update {
-               mynet;
-       };
-};
-</screen>
-</example>
-
-<!-- Thirteen -->
-<example id="abmasbizdns">
-<title>Forward Zone File: abmas.biz.hosts</title>
-<screen>
-$ORIGIN .
-$TTL 38400     ; 10 hours 40 minutes
-abmas.biz      IN SOA  massive.abmas.biz. root.abmas.biz. (
-                               2003021833 ; serial
-                               10800      ; refresh (3 hours)
-                               3600       ; retry (1 hour)
-                               604800     ; expire (1 week)
-                               38400      ; minimum (10 hours 40 minutes)
-                               )
-                       NS      massive.abmas.biz.
-                       NS      bldg1.abmas.biz.
-                       NS      bldg2.abmas.biz.
-                       MX      10 massive.abmas.biz.
-$ORIGIN abmas.biz.
-massive                        A       172.16.0.1
-router0                 A       172.16.0.128
-bldg1                   A       172.16.4.1
-router4                 A       172.16.4.128
-bldg2                   A       172.16.8.1
-router8                 A       172.16.8.128
-</screen>
-</example>
-
-<!-- Forteen -->
-<example id="abmasusdns">
-<title>Forward Zone File: abmas.biz.hosts</title>
-<screen>
-$ORIGIN .
-$TTL 38400     ; 10 hours 40 minutes
-abmas.us       IN SOA  server.abmas.us. root.abmas.us. (
-                               2003021833 ; serial
-                               10800      ; refresh (3 hours)
-                               3600       ; retry (1 hour)
-                               604800     ; expire (1 week)
-                               38400      ; minimum (10 hours 40 minutes)
-                               )
-                       NS      dns.abmas.us.
-                       NS      dns2.abmas.us.
-                       MX      10 mail.abmas.us.
-$ORIGIN abmas.us.
-server                 A       123.45.67.66
-dns2                   A       123.45.54.32
-gw                     A       123.45.67.65
-www                    CNAME   server
-mail                   CNAME   server
-dns                    CNAME   server
-</screen>
-</example>
-
-<!-- Fifteen -->
-<example id="bldg12nameda">
-<title>Servers: BLDG1/BLDG2, File: named.conf, Part: A</title>
-<screen>
-###
-# Abmas Biz DNS Control File
-###
-# Date: November 15, 2003
-###
-options {
-       directory "/var/lib/named";
-       forwarders {
-               172.16.0.1;
-               };
-       forward first;
-       listen-on {
-               mynet;
-               };
-       auth-nxdomain yes;
-       multiple-cnames yes;
-       notify no;
-};
-
-zone "." in {
-       type hint;
-       file "root.hint";
-};
-
-zone "localhost" in {
-       type master;
-       file "localhost.zone";
-};
-
-zone "0.0.127.in-addr.arpa" in {
-       type master;
-       file "127.0.0.zone";
-};
-
-acl mynet {
-       172.16.0.0/24;
-       172.16.4.0/24;
-       172.16.8.0/24;
-       127.0.0.1;
-};
-
-acl seconddns {
-        123.45.54.32;
-};
-</screen>
-</example>
-
-<!-- Sixteen -->
-<example id="bldg12namedb">
-<title>Servers: BLDG1/BLDG2, File: named.conf, Part: B</title>
-<screen>
-zone "abmas.biz" {
-       type slave;
-       file "/var/lib/named/slave/abmas.biz.hosts";
-       allow-query {
-               mynet;
-       };
-       allow-transfer {
-               mynet;
-       };
-};
-
-zone "0.16.172.in-addr.arpa" {
-       type slave;
-       file "/var/lib/slave/master/172.16.0.0.rev";
-       allow-query {
-               mynet;
-       };
-       allow-transfer {
-               mynet;
-       };
-};
-
-zone "4.16.172.in-addr.arpa" {
-       type slave;
-       file "/var/lib/named/slave/172.16.4.0.rev";
-       allow-query {
-               mynet;
-       };
-       allow-transfer {
-               mynet;
-       };
-};
-
-zone "8.16.172.in-addr.arpa" {
-       type slave;
-       file "/var/lib/named/slave/172.16.8.0.rev";
-       allow-query {
-               mynet;
-       };
-       allow-transfer {
-               mynet;
-       };
-};
-</screen>
-</example>
-
-
-<!-- Seventeen -->
-<example id="ch5-initgrps">
-<title>Initialize Groups Script, File: /etc/samba/initGrps.sh</title>
-<screen>
-#!/bin/bash
-
-# Create UNIX groups
-groupadd acctsdep
-groupadd finsrvcs
-groupadd piops
-
-# Map Windows Domain Groups to UNIX groups
-net groupmap add ntgroup="Domain Admins"  unixgroup=root type=d
-net groupmap add ntgroup="Domain Users"   unixgroup=users type=d
-net groupmap add ntgroup="Domain Guests"  unixgroup=nobody type=d
-
-# Add Functional Domain Groups
-net groupmap add ntgroup="Accounts Dept"       unixgroup=acctsdep type=d
-net groupmap add ntgroup="Financial Services"  unixgroup=finsrvcs type=d
-net groupmap add ntgroup="Insurance Group"     unixgroup=piops type=d
-</screen>
-</example>
-
-<!-- End of Examples -->
-
-        <sect2 id="ch5-procstart">
-        <title>Process Startup Configuration</title>
-
-        <para>
-               <indexterm><primary>chkconfig</primary></indexterm>
-               <indexterm><primary>daemon control</primary></indexterm>
-        There are two essential steps to process startup configuration. A process
-        must be configured so that it is automatically restarted each time the server
-        is rebooted. This step involves use of the <command>chkconfig</command> tool that
-        created appropriate symbolic links from the master daemon control file that is
-        located in the <filename>/etc/rc.d</filename> directory to the <filename>/etc/rc'x'.d</filename>
-        directories. Links are created so that when the system run-level is changed, the
-        necessary start or kill script is run.
-        </para>
-
-        <para>
-        <indexterm><primary>/etc/xinetd.d</primary></indexterm>
-        In the event that a service is provided not as a daemon but via the internetworking
-        super daemon (<command>inetd</command> or <command>xinetd</command>), then the <command>chkconfig</command>
-        tool makes the necessary entries in the <filename>/etc/xinetd.d</filename> directory
-        and sends a hang-up (HUP) signal to the super daemon, thus forcing it to
-        re-read its control files.
-        </para>
-
-        <para>
-        Last, each service must be started to permit system validation to proceed. The following steps
-               are for a Red Hat Linux system, please adapt them to suit the target OS platform on which you 
-               are installing Samba.
-        </para>
-
-        <procedure>
-               <title>Process Startup Configuration Steps</title>
-
-                <step><para>
-                Use the standard system tool to configure each service to restart
-                automatically at every system reboot. For example,
-                <indexterm><primary>chkconfig</primary></indexterm>
-<screen>
-&rootprompt; chkconfig dhpc on
-&rootprompt; chkconfig named on
-&rootprompt; chkconfig cups on
-&rootprompt; chkconfig smb on
-&rootprompt; chkconfig swat on
-</screen>
-                </para></step>
-
-                <step><para>
-                <indexterm><primary>starting dhcpd</primary></indexterm>
-                <indexterm><primary>starting samba</primary></indexterm>
-                <indexterm><primary>starting CUPS</primary></indexterm>
-                Now start each service to permit the system to be validated.
-                Execute each of the following in the sequence shown:
-
-<screen>
-&rootprompt; service dhcp restart
-&rootprompt; service named restart
-&rootprompt; service cups restart
-&rootprompt; service smb restart
-&rootprompt; service swat restart
-</screen>
-                </para></step>
-        </procedure>
-
-        </sect2>
-
-       <sect2 id="ch5wincfg">
-       <title>Windows Client Configuration</title>
-
-       <para>
-       The procedure for desktop client configuration for the network in this chapter is similar to
-       that used for the previous one. There are a few subtle changes that should be noted.
-       </para>
-
-       <procedure>
-       <title>Windows Client Configuration Steps</title>
-
-               <step><para>
-               Install MS Windows XP Professional. During installation, configure the client to use DHCP for 
-               TCP/IP protocol configuration.
-               <indexterm><primary>WINS</primary></indexterm>
-               <indexterm><primary>DHCP</primary></indexterm>
-               DHCP configures all Windows clients to use the WINS Server address that has been defined
-               for the local subnet.
-               </para></step>
-
-               <step><para>
-               Join the Windows domain <constant>MEGANET</constant>. Use the domain administrator
-               username <constant>root</constant> and the SMB password you assigned to this account.
-               A detailed step-by-step procedure for joining a Windows 200x/XP Professional client to
-               a Windows domain is given in <link linkend="appendix"/>, <link linkend="domjoin"/>. 
-               Reboot the machine as prompted and then log on using the domain administrator account
-               (<constant>root</constant>).
-               </para></step>
-
-               <step><para>
-               Verify that the server called <constant>MEGANET</constant> is visible in <guimenu>My Network Places</guimenu>, 
-               that it is possible to connect to it and see the shares <guimenuitem>accounts</guimenuitem>,
-               <guimenuitem>apps</guimenuitem>, and <guimenuitem>finsvcs</guimenuitem>,
-               and that it is possible to open each share to reveal its contents.
-               </para></step>
-
-               <step><para>
-               Create a drive mapping to the <constant>apps</constant> share on a server. At this time, it does
-               not particularly matter which application server is used. It is necessary to manually
-               set a persistent drive mapping to the local applications server on each workstation at the time of 
-               installation. This step is avoided by the improvements to the design of the network configuration
-               in the next chapter.
-               </para></step>
-
-               <step><para>
-               Perform an administrative installation of each application to be used. Select the options
-               that you wish to use. Of course, you choose to run applications over the network, correct?
-               </para></step>
-
-               <step><para>
-               Now install all applications to be installed locally. Typical tools include Adobe Acrobat,
-               NTP-based time synchronization software, drivers for specific local devices such as fingerprint
-               scanners, and the like. Probably the most significant application to be locally installed
-               is antivirus software.
-               </para></step>
-
-               <step><para>
-               Now install all four printers onto the staging system. The printers you install
-               include the accounting department HP LaserJet 6 and Minolta QMS Magicolor printers, and you
-               also configure use of the identical printers that are located in the financial services department.
-               Install printers on each machine using the following steps:
-       </para>
-
-                       <procedure>
-                       <title>Steps to Install Printer Drivers on Windows Clients</title>
-
-                               <step><para>
-                               Click <menuchoice>
-                                       <guimenu>Start</guimenu>
-                                       <guimenuitem>Settings</guimenuitem>
-                                       <guimenuitem>Printers</guimenuitem>
-                                       <guiicon>Add Printer</guiicon>
-                                       <guibutton>Next</guibutton>
-                                       </menuchoice>. Do not click <guimenuitem>Network printer</guimenuitem>.
-                                       Ensure that <guimenuitem>Local printer</guimenuitem> is selected.
-                               </para></step>
-
-                               <step><para>
-                               Click <guibutton>Next</guibutton>. In the
-                               <guimenuitem>Manufacturer:</guimenuitem> panel, select <constant>HP</constant>.
-                               In the <guimenuitem>Printers:</guimenuitem> panel, select the printer called
-                               <constant>HP LaserJet 6</constant>. Click <guibutton>Next</guibutton>.
-                               </para></step>
-
-                               <step><para>
-                               In the <guimenuitem>Available ports:</guimenuitem> panel, select
-                               <constant>FILE:</constant>. Accept the default printer name by clicking
-                               <guibutton>Next</guibutton>. When asked, <quote>Would you like to print a
-                               test page?</quote>, click <guimenuitem>No</guimenuitem>. Click
-                               <guibutton>Finish</guibutton>.
-                               </para></step>
-
-                               <step><para>
-                               You may be prompted for the name of a file to print to. If so, close the
-                               dialog panel. Right-click <menuchoice>
-                                       <guiicon>HP LaserJet 6</guiicon>
-                                       <guimenuitem>Properties</guimenuitem>
-                                       <guisubmenu>Details (Tab)</guisubmenu>
-                                       <guibutton>Add Port</guibutton>
-                                       </menuchoice>.
-                               </para></step>
-
-                               <step><para>
-                               In the <guimenuitem>Network</guimenuitem> panel, enter the name of
-                               the print queue on the Samba server as follows: <constant>\\BLDG1\hplj6a</constant>.
-                               Click <menuchoice> 
-                                       <guibutton>OK</guibutton>
-                                       <guibutton>OK</guibutton>
-                                       </menuchoice> to complete the installation.
-                               </para></step>
-
-                               <step><para>
-                               Repeat the printer installation steps above for both HP LaserJet 6 printers
-                               as well as for both QMS Magicolor laser printers. Remember to install all
-                               printers but to set the destination port for each to the server on the
-                               local network. For example, a workstation in the accounting group should
-                               have all printers directed at the server <constant>BLDG1</constant>.
-                               You may elect to point all desktop workstation configurations at the
-                               server called <constant>MASSIVE</constant> and then in your deployment  
-                               procedures, it would be wise to document the need to redirect the printer
-                               configuration (as well as the applications server drive mapping) to the
-                               server on the network segment on which the workstation is to be located.
-                               </para></step>
-                       </procedure>
-               </step>
-
-               <step><para>
-               When you are satisfied that the staging systems are complete, use the appropriate procedure to
-               remove the client from the domain. Reboot the system, and then log on as the local administrator
-               and clean out all temporary files stored on the system. Before shutting down, use the disk
-               defragmentation tool so that the file system is in optimal condition before replication.
-               </para></step>
-
-               <step><para>
-               Boot the workstation using the Norton (Symantec) Ghosting disk (or CD-ROM) and image the
-               machine to a network share on the server.
-               </para></step>
-
-               <step><para>
-               You may now replicate the image using the appropriate Norton Ghost procedure to the target
-               machines. Make sure to use the procedure that ensures each machine has a unique
-               Windows security identifier (SID). When the installation of the disk image is complete, boot the PC. 
-               </para></step>
-
-               <step><para>
-               Log onto the machine as the local Administrator (the only option), and join the machine to
-               the domain following the procedure set out in <link linkend="appendix"/>, <link linkend="domjoin"/>. You must now set the 
-               persistent drive mapping to the applications server that the user is to use. The system is now 
-               ready for the user to log on, provided you have created a network logon account for that 
-               user, of course.
-               </para></step>
-
-               <step><para>
-               Instruct all users to log onto the workstation using their assigned username and password.
-               </para></step>
-       </procedure>
-
-       </sect2>
-
-       <sect2>
-               <title>Key Points Learned</title>
-
-               <para>
-               The network you have just deployed has been a valuable exercise in forced constraint.
-               You have deployed a network that works well, although you may soon start to see
-               performance problems, at which time the modifications demonstrated in <link linkend="happy"/>
-               bring the network to life. The following key learning points were experienced:
-               </para>
-
-               <itemizedlist>
-                       <listitem><para>
-                       The power of using &smb.conf; include files
-                       </para></listitem>
-
-                       <listitem><para>
-                       Use of a single PDC over a routed network
-                       </para></listitem>
-
-                       <listitem><para>
-                       Joining a Samba domain member server to a Samba-3 domain
-                       </para></listitem>
-
-                       <listitem><para>
-                       Configuration of winbind to use domain users and groups for Samba access
-                       to resources on the domain member servers
-                       </para></listitem>
-
-                       <listitem><para>
-                       The introduction of roaming profiles
-                       </para></listitem>
-
-               </itemizedlist>
-
-       </sect2>
-
-</sect1>
-
-<sect1>
-       <title>Questions and Answers</title>
-
-       <para>
-       </para>
-
-       <qandaset defaultlabel="chap01qa" type="number">
-       <qandaentry>
-       <question>
-
-               <para>
-               The example &smb.conf; files in this chapter make use of the <parameter>include</parameter> facility.
-               How may I get to see what the actual working &smb.conf; settings are?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               You may readily see the net compound effect of the included files by running:
-<screen>
-&rootprompt; testparm -s | less
-</screen>
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               Why does the include file <filename>common.conf</filename> have an empty include statement?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               The use of the empty include statement nullifies further includes. For example, let's say you 
-               desire to have just an smb.conf file that is built from the array of include files of which the
-               master control file is called <filename>master.conf</filename>. The following command 
-               produces a compound &smb.conf; file.
-<screen>
-&rootprompt; testparm -s /etc/samba/master.conf > /etc/samba/smb.conf
-</screen>
-               If the include parameter was not in the common.conf file, the final &smb.conf; file leaves
-               the include in place, even though the file it points to has already been included. This is a bug
-               that will be fixed at a future date.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               I accept that the simplest configuration necessary to do the job is the best. The use of <parameter>tdbsam</parameter>
-               passdb backend is much simpler than having to manage an LDAP-based <parameter>ldapsam</parameter> passdb backend.
-               I tried using <command>rsync</command> to replicate the <filename>passdb.tdb</filename>, and it seems to work fine!
-               So what is the problem?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               Replication of the <parameter>tdbsam</parameter> database file can result in loss of currency in its
-               contents between the PDC and BDCs. The most notable symptom is that workstations may not be able
-               to log onto the network following a reboot and may have to rejoin the domain to recover network
-               access capability.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               You are using DHCP Relay enabled on the routers as well as a local DHCP server. Will this cause a clash?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               No. It is possible to have as many DHCP servers on a network segment as makes sense. A DHCP server
-               offers an IP address lease, but it is the client that determines which offer is accepted, no matter how many
-               offers are made. Under normal operation, the client accepts the first offer it receives.
-               </para>
-
-               <para>
-               The only exception to this rule is when the client makes a directed request from a specific DHCP server
-               for renewal of the lease it has. This means that under normal circumstances there is no risk of a clash.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               How does the Windows client find the PDC?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               The Windows client obtains the WINS server address from the DHCP lease information. It also
-               obtains from the DHCP lease information the parameter that causes it to use directed UDP (UDP Unicast)
-               to register itself with the WINS server and to obtain enumeration of vital network information to 
-               enable it to operate successfully.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               Why did you enable IP forwarding (routing) only on the server called <constant>MASSIVE</constant>?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               The server called <constant>MASSIVE</constant> is acting as a router to the Internet. No other server
-               (BLDG1 or BLDG2) has any need for IP forwarding because they are attached only to their own network.
-               Route table entries are needed to direct MASSIVE to send all traffic intended for the remote network
-               segments to the router that is its gateway to them.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               You did nothing special to implement roaming profiles. Why?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               Unless configured to do otherwise, the default behavior with Samba and Windows XP Professional
-               clients is to use roaming profiles.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               On the domain member computers, you configured winbind in the <filename>/etc/nsswitch.conf</filename> file.
-               You did not configure any PAM settings. Is this an omission?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               PAM is needed only for authentication. When Samba is using Microsoft encrypted passwords, it makes only
-               marginal use of PAM. PAM configuration handles only authentication. If you want to log onto the domain
-               member servers using Windows networking usernames and passwords, it is necessary to configure PAM
-               to enable the use of winbind. Samba makes use only of the identity resolution facilities of the name
-               service switch (NSS).
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               You are starting SWAT up on this example but have not discussed that anywhere. Why did you do this?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               Oh, I did not think you would notice that. It is there so that it can be used. This is more fully discussed
-               in <emphasis>TOSHARG2</emphasis>, which has a full chapter dedicated to the subject. While we are on the 
-               subject, it should be noted that you should definitely not use SWAT on any system that makes use 
-               of &smb.conf; <parameter>include</parameter> files because SWAT optimizes them out into an aggregated 
-               file but leaves in place a broken reference to the top-layer include file. SWAT was not designed to 
-               handle this functionality gracefully.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       <qandaentry>
-       <question>
-
-               <para>
-               The domain controller has an auto-shutdown script. Isn't that dangerous?
-               </para>
-
-       </question>
-       <answer>
-
-               <para>
-               Well done, you spotted that! I guess it is dangerous. It is good to know that you can do this, though.
-               </para>
-
-       </answer>
-       </qandaentry>
-
-       </qandaset>
-
-</sect1>
-
-</chapter>
-
diff --git a/docs-xml/Samba3-ByExample/SBE-AddingUNIXClients.xml b/docs-xml/Samba3-ByExample/SBE-AddingUNIXClients.xml
deleted file mode 100644 (file)
index f28f4a1..0000000
+++ /dev/null
@@ -1,2865 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE chapter PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
-<chapter id="unixclients">
-  <title>Adding Domain Member Servers and Clients</title>
-
-    <para><indexterm>
-       <primary>Open Magazine</primary>
-      </indexterm><indexterm>
-       <primary>survey</primary>
-      </indexterm>
-       The most frequently discussed Samba subjects over the past 2 years have focused around domain control and printing. 
-       It is well known that Samba is a file and print server. A recent survey conducted by <emphasis>Open Magazine</emphasis> found 
-       that of all respondents, 97 percent use Samba for file and print services, and 68 percent use Samba for Domain Control. See the 
-       <ulink url="http://www.open-mag.com/cgi-bin/opencgi/surveys/survey.cgi?survey_name=samba">Open-Mag</ulink>
-       Web site for current information. The survey results as found on January 14, 2004, are shown in
-       <link linkend="ch09openmag"/>.
-       </para>
-
-       <figure id="ch09openmag">
-               <title>Open Magazine Samba Survey</title>
-               <imagefile scale="60">openmag</imagefile>
-       </figure>
-
-       <para>
-       While domain control is an exciting subject, basic file and print sharing remains the staple bread-and-butter
-       function that Samba provides. Yet this book may give the appearance of having focused too much on more
-       exciting aspects of Samba deployment. This chapter directs your attention to provide important information on
-       the addition of Samba servers into your present Windows network &smbmdash; whatever the controlling technology
-       may be. So let's get back to our good friends at Abmas.
-       </para>
-
-<sect1>
-       <title>Introduction</title>
-
-      <para><indexterm>
-         <primary>Linux desktop</primary>
-       </indexterm><indexterm>
-         <primary>Domain Member</primary>
-         <secondary>server</secondary>
-       </indexterm>
-       Looking back over the achievements of the past year or two, daily events at Abmas are rather straightforward
-       with not too many distractions or problems. Your team is doing well, but a number of employees
-       are asking for Linux desktop systems. Your network has grown and demands additional domain member servers. Let's
-       get on with this; Christine and Stan are ready to go.
-       </para>
-
-      <para><indexterm>
-         <primary>Domain Member</primary>
-         <secondary>desktop</secondary>
-       </indexterm>
-       Stan is firmly in control of the department of the future, while Christine is enjoying a stable and
-       predictable network environment. It is time to add more servers and to add Linux desktops. It is
-       time to meet the demands of future growth and endure trial by fire.
-       </para>
-
-       <sect2>
-       <title>Assignment Tasks</title>
-
-       <para><indexterm>
-           <primary>Active Directory</primary>
-         </indexterm>
-       You must now add UNIX/Linux domain member servers to your network. You have a friend who has a Windows 2003
-       Active Directory domain network who wants to add a Samba/Linux server and has asked Christine to help him
-       out. Your real objective is to help Christine to see more of the way the Microsoft world lives and use
-       her help to get validation that Samba really does live up to expectations.
-       </para>
-
-       <para>
-       Over the past 6 months, you have hired several new staff who want Linux on their desktops. You must integrate
-       these systems to make sure that Abmas is not building islands of technology. You ask Christine to
-       do likewise at Swodniw Biz NL (your friend's company) to help them to evaluate a Linux desktop. You want to make
-       the right decision, don't you?
-       </para>
-
-       </sect2>
-</sect1>
-
-<sect1>
-       <title>Dissection and Discussion</title>
-
-       <para>
-       <indexterm><primary>winbind</primary></indexterm>
-       Recent Samba mailing-list activity is witness to how many sites are using winbind. Some have no trouble
-       at all with it, yet to others the problems seem insurmountable. Periodically there are complaints concerning
-       an inability to achieve identical user and group IDs between Windows and UNIX environments.
-       </para>
-
-       <para>
-       You provide step-by-step implementations of the various tools that can be used for identity
-       resolution. You also provide working examples of solutions for integrated authentication for
-       both UNIX/Linux and Windows environments.
-       </para>
-
-       <sect2>
-               <title>Technical Issues</title>
-
-               <para>
-               One of the great challenges we face when people ask us, <quote>What is the best way to solve
-               this problem?</quote> is to get beyond the facts so we not only can clearly comprehend
-               the immediate technical problem, but also can understand how needs may change.
-               </para>
-
-               <para>
-               <indexterm><primary>integrate</primary></indexterm>
-               There are a few facts we should note when dealing with the question of how best to
-               integrate UNIX/Linux clients and servers into a Windows networking environment:
-               </para>
-
-               <itemizedlist>
-                       <listitem><para>
-                       <indexterm><primary>Domain Controller</primary></indexterm>
-                       <indexterm><primary>authoritative</primary></indexterm>
-                       <indexterm><primary>accounts</primary><secondary>authoritative</secondary></indexterm>
-                       <indexterm><primary>PDC</primary></indexterm>
-                       <indexterm><primary>BDC</primary></indexterm>
-                       A domain controller (PDC or BDC) is always authoritative for all accounts in its domain.
-                       This means that a BDC must (of necessity) be able to resolve all account UIDs and GIDs
-                       to the same values that the PDC resolved them to.
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>local accounts</primary></indexterm>
-                       <indexterm><primary>Domain Member</primary><secondary>authoritative</secondary><tertiary>local accounts</tertiary></indexterm>
-                       <indexterm><primary>Domain accounts</primary></indexterm>
-                       <indexterm><primary>winbindd</primary></indexterm>
-                       A domain member can be authoritative for local accounts, but is never authoritative for
-                       domain accounts. If a user is accessing a domain member server and that user's account
-                       is not known locally, the domain member server must resolve the identity of that user
-                       from the domain in which that user's account resides. It must then map that ID to a
-                       UID/GID pair that it can use locally. This is handled by <command>winbindd</command>.
-                       </para></listitem>
-
-                       <listitem><para>
-                       Samba, when running on a domain member server, can resolve user identities from a
-                       number of sources:
-                       </para>
-
-                       <itemizedlist>
-                               <listitem><para>
-                               <indexterm><primary>getpwnam</primary></indexterm>
-                               <indexterm><primary>getgrnam</primary></indexterm>
-                               <indexterm><primary>NSS</primary></indexterm>
-                               <indexterm><primary>LDAP</primary></indexterm>
-                               <indexterm><primary>NIS</primary></indexterm>
-                               By executing a system <command>getpwnam()</command> or <command>getgrnam()</command> call. 
-                               On systems that support it, this utilizes the name service switch (NSS) facility to 
-                               resolve names according to the configuration of the <filename>/etc/nsswitch.conf</filename> 
-                               file. NSS can be configured to use LDAP, winbind, NIS, or local files.
-                               </para></listitem>
-
-                               <listitem><para>
-                               <indexterm><primary>passdb backend</primary></indexterm>
-                               <indexterm><primary>PADL</primary></indexterm>
-                               <indexterm><primary>nss_ldap</primary></indexterm>
-                               Performing, via NSS, a direct LDAP search (where an LDAP passdb backend has been configured).
-                               This requires the use of the PADL nss_ldap tool (or equivalent).
-                               </para></listitem>
-
-                               <listitem><para>
-                               <indexterm><primary>winbindd</primary></indexterm>
-                               <indexterm><primary>SID</primary></indexterm>
-                               <indexterm><primary>winbindd_idmap.tdb</primary></indexterm>
-                               <indexterm><primary>winbindd_cache.tdb</primary></indexterm>
-                               Directly by querying <command>winbindd</command>. The <command>winbindd</command>
-                               contacts a domain controller to attempt to resolve the identity of the user or group. It
-                               receives the Windows networking security identifier (SID) for that appropriate
-                               account and then allocates a local UID or GID from the range of available IDs and
-                               creates an entry in its <filename>winbindd_idmap.tdb</filename> and 
-                               <filename>winbindd_cache.tdb</filename> files.
-                               </para>
-
-                               <para>
-                               <indexterm><primary>idmap backend</primary></indexterm>
-                               <indexterm><primary>mapping</primary></indexterm>
-                               If the parameter <smbconfoption name="idmap backend">ldap:ldap://myserver.domain</smbconfoption>
-                               was specified and the LDAP server has been configured with a container in which it may
-                               store the IDMAP entries, all domain members may share a common mapping.
-                               </para></listitem>
-                       </itemizedlist>
-
-                       <para>
-                       Irrespective of how &smb.conf; is configured, winbind creates and caches a local copy of
-                       the ID mapping database. It uses the <filename>winbindd_idmap.tdb</filename> and
-                                <filename>winbindd_cache.tdb</filename> files to do this.
-                       </para>
-
-                       <para>
-                       Which of the resolver methods is chosen is determined by the way that Samba is configured 
-                       in the &smb.conf; file. Some of the configuration options are rather less than obvious to the 
-                       casual user.
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>winbind trusted domains only</primary></indexterm>
-                       <indexterm><primary>domain member</primary><secondary>servers</secondary></indexterm>
-                       <indexterm><primary>domain controllers</primary></indexterm>
-                       If you wish to make use of accounts (users and/or groups) that are local to (i.e., capable
-                       of being resolved using) the NSS facility, it is possible to use the 
-                       <smbconfoption name="winbind trusted domains only">Yes</smbconfoption>
-                       in the &smb.conf; file. This parameter specifically applies to domain controllers, 
-                       and to domain member servers.
-                       </para></listitem>
-
-               </itemizedlist>
-
-               <para>
-               <indexterm><primary>Posix accounts</primary></indexterm>
-               <indexterm><primary>Samba accounts</primary></indexterm>
-               <indexterm><primary>LDAP</primary></indexterm>
-               For many administrators, it should be plain that the use of an LDAP-based repository for all network
-               accounts (both for POSIX accounts and for Samba accounts) provides the most elegant and
-               controllable facility. You eventually appreciate the decision to use LDAP.
-               </para>
-
-               <para>
-               <indexterm><primary>nss_ldap</primary></indexterm>
-               <indexterm><primary>identifiers</primary></indexterm>
-               <indexterm><primary>resolve</primary></indexterm>
-               If your network account information resides in an LDAP repository, you should use it ahead of any
-               alternative method. This means that if it is humanly possible to use the <command>nss_ldap</command>
-               tools to resolve UNIX account UIDs/GIDs via LDAP, this is the preferred solution, because it provides
-               a more readily controllable method for asserting the exact same user and group identifiers 
-               throughout the network.
-               </para>
-
-               <para>
-               <indexterm><primary>Domain Member</primary><secondary>server</secondary></indexterm>
-               <indexterm><primary>winbind trusted domains only</primary></indexterm>
-               <indexterm><primary>getpwnam</primary></indexterm>
-               <indexterm><primary>smbd</primary></indexterm>
-               <indexterm><primary>Trusted Domains</primary></indexterm>
-               <indexterm><primary>External Domains</primary></indexterm>
-               In the situation where UNIX accounts are held on the domain member server itself, the only effective
-               way to use them involves the &smb.conf; entry 
-               <smbconfoption name="winbind trusted domains only">Yes</smbconfoption>. This forces 
-               Samba (<command>smbd</command>) to perform a <command>getpwnam()</command> system call that can
-               then be controlled via <filename>/etc/nsswitch.conf</filename> file settings. The use of this parameter
-               disables the use of Samba with trusted domains (i.e., external domains).
-               </para>
-
-               <para>
-               <indexterm><primary>appliance mode</primary></indexterm>
-               <indexterm><primary>Domain Member</primary><secondary>server</secondary></indexterm>
-               <indexterm><primary>winbindd</primary></indexterm>
-               <indexterm><primary>automatically allocate</primary></indexterm>
-               Winbind can be used to create an appliance mode domain member server. In this capacity, <command>winbindd</command>
-               is configured to automatically allocate UIDs/GIDs from numeric ranges set in the &smb.conf; file. The allocation
-               is made for all accounts that connect to that domain member server, whether within its own domain or from
-               trusted domains. If not stored in an LDAP backend, each domain member maintains its own unique mapping database.
-               This means that it is almost certain that a given user who accesses two domain member servers does not have the
-               same UID/GID on both servers &smbmdash; however, this is transparent to the Windows network user. This data
-               is stored in the <filename>winbindd_idmap.tdb</filename> and <filename>winbindd_cache.tdb</filename> files.
-               </para>
-       
-               <para>
-               <indexterm><primary>mapping</primary></indexterm>
-               The use of an LDAP backend for the Winbind IDMAP facility permits Windows domain SIDs
-               mappings to UIDs/GIDs to be stored centrally. The result is a consistent mapping across all domain member
-               servers so configured. This solves one of the major headaches for network administrators who need to copy
-               files between or across network file servers.
-               </para>
-
-       </sect2>
-
-       <sect2>
-               <title>Political Issues</title>
-
-               <para>
-               <indexterm><primary>OpenLDAP</primary></indexterm>
-               <indexterm><primary>NIS</primary></indexterm>
-               <indexterm><primary>yellow pages</primary><see>NIS</see></indexterm>
-               <indexterm><primary>identity management</primary></indexterm>
-               One of the most fierce conflicts recently being waged is resistance to the adoption of LDAP, in
-               particular OpenLDAP, as a replacement for UNIX NIS (previously called Yellow Pages). Let's face it, LDAP
-               is different and requires a new approach to the need for a better identity management solution. The more
-               you work with LDAP, the more its power and flexibility emerges from its dark, cavernous chasm.
-               </para>
-
-               <para>
-               LDAP is a most suitable solution for heterogenous environments. If you need crypto, add Kerberos. 
-               The reason these are preferable is because they are heterogenous. Windows solutions of this sort are <emphasis>not</emphasis> 
-               heterogenous by design. This is fundamental &smbmdash; it isn't religious or political. This also doesn't say that 
-               you can't use Windows Active Directory in a heterogenous environment &smbmdash; it can be done, it just requires 
-               commercial integration products. But it's not what Active Directory was designed for.
-               </para>
-
-               <para>
-               <indexterm><primary>directory</primary></indexterm>
-               <indexterm><primary>management</primary></indexterm>
-               A number of long-term UNIX devotees have recently commented in various communications that the Samba Team
-               is the first application group to almost force network administrators to use LDAP. It should be pointed
-               out that we resisted this for as long as we could. It is not out of laziness or malice that LDAP has
-               finally emerged as the preferred identity management backend for Samba. We recommend LDAP for your total
-               organizational directory needs.
-               </para>
-
-       </sect2>
-
-</sect1>
-
-<sect1>
-       <title>Implementation</title>
-
-       <para>
-       <indexterm><primary>Domain Member</primary><secondary>server</secondary></indexterm>
-       <indexterm><primary>Domain Member</primary><secondary>client</secondary></indexterm>
-       <indexterm><primary>Domain Controller</primary></indexterm>
-       The domain member server and the domain member client are at the center of focus in this chapter.
-       Configuration of Samba domain controller is covered in earlier chapters, so if your
-       interest is in domain controller configuration, you will not find that here. You will find good
-       oil that helps you to add domain member servers and clients.
-       </para>
-
-       <para>
-       <indexterm><primary>Domain Member</primary><secondary>workstations</secondary></indexterm>
-       In practice, domain member servers and domain member workstations are very different entities, but in
-       terms of technology they share similar core infrastructure. A technologist would argue that servers
-       and workstations are identical. Many users would argue otherwise, given that in a well-disciplined
-       environment a workstation (client) is a device from which a user creates documents and files that
-       are located on servers. A workstation is frequently viewed as a disposable (easy to replace) item,
-       but a server is viewed as a core component of the business.
-       </para>
-
-       <para>
-       <indexterm><primary>workstation</primary></indexterm>
-       We can look at this another way. If a workstation breaks down, one user is affected, but if a
-       server breaks down, hundreds of users may not be able to work. The services that a workstation
-       must provide are document- and file-production oriented; a server provides information storage
-       and is distribution oriented.
-       </para>
-
-       <para>
-       <indexterm><primary>authentication process</primary></indexterm>
-       <indexterm><primary>logon process</primary></indexterm>
-       <indexterm><primary>user identities</primary></indexterm>
-       <emphasis>Why is this important?</emphasis> For starters, we must identify what
-       components of the operating system and its environment must be configured. Also, it is necessary
-       to recognize where the interdependencies between the various services to be used are.
-       In particular, it is important to understand the operation of each critical part of the
-       authentication process, the logon process, and how user identities get resolved and applied
-       within the operating system and applications (like Samba) that depend on this and may
-       actually contribute to it.
-       </para>
-
-       <para>
-       So, in this chapter we demonstrate how to implement the technology. It is done within a context of
-       what type of service need must be fulfilled.
-       </para>
-
-       <sect2 id="sdcsdmldap">
-       <title>Samba Domain with Samba Domain Member Server &smbmdash; Using NSS LDAP</title>
-
-       <para>
-       <indexterm><primary>ldapsam</primary></indexterm>
-       <indexterm><primary>ldapsam backend</primary></indexterm>
-       <indexterm><primary>IDMAP</primary></indexterm>
-       <indexterm><primary>mapping</primary><secondary>consistent</secondary></indexterm>
-       <indexterm><primary>winbindd</primary></indexterm>
-       <indexterm><primary>foreign SID</primary></indexterm>
-       In this example, it is assumed that you have Samba PDC/BDC servers. This means you are using
-       an LDAP ldapsam backend. We are adding to the LDAP backend database (directory)
-       containers for use by the IDMAP facility. This makes it possible to have globally consistent
-       mapping of SIDs to and from UIDs and GIDs. This means that it is necessary to run 
-       <command>winbindd</command> as part of your configuration. The primary purpose of running
-       <command>winbindd</command> (within this operational context) is to permit mapping of foreign
-       SIDs (those not originating from the the local Samba server). Foreign SIDs can come from any
-       domain member client or server, or from Windows clients that do not belong to a domain. Another
-       way to explain the necessity to run <command>winbindd</command> is that Samba can locally
-       resolve only accounts that belong to the security context of its own machine SID. Winbind
-       handles all non-local SIDs and maps them to a local UID/GID value. The UID and GID are allocated
-       from the parameter values set in the &smb.conf; file for the <parameter>idmap uid</parameter> and
-       <parameter>idmap gid</parameter> ranges. Where LDAP is used, the mappings can be stored in LDAP
-       so that all domain member servers can use a consistent mapping.
-       </para>
-
-       <para>
-       <indexterm><primary>winbindd</primary></indexterm>
-       <indexterm><primary>getpwnam</primary></indexterm>
-       <indexterm><primary>NSS</primary></indexterm>
-       If your installation is accessed only from clients that are members of your own domain, and all 
-       user accounts are present in a local passdb backend then it is not necessary to run
-       <command>winbindd</command>. The local passdb backend can be in smbpasswd, tdbsam, or in ldapsam.
-       </para>
-
-       <para>
-       It is possible to use a local passdb backend with any convenient means of resolving the POSIX
-       user and group account information. The POSIX information is usually obtained using the
-       <command>getpwnam()</command> system call. On NSS-enabled systems, the actual POSIX account
-       source can be provided from
-       </para>
-
-       <itemizedlist>
-               <listitem><para>
-               <indexterm><primary>/etc/passwd</primary></indexterm>
-               <indexterm><primary>/etc/group</primary></indexterm>
-               Accounts in <filename>/etc/passwd</filename> or in <filename>/etc/group</filename>.
-               </para></listitem>
-
-               <listitem><para>
-               <indexterm><primary>NSS</primary></indexterm>
-               <indexterm><primary>compat</primary></indexterm>
-               <indexterm><primary>ldap</primary></indexterm>
-               <indexterm><primary>nis</primary></indexterm>
-               <indexterm><primary>nisplus</primary></indexterm>
-               <indexterm><primary>hesiod</primary></indexterm>
-               <indexterm><primary>ldap</primary></indexterm>
-               <indexterm><primary>nss_ldap</primary></indexterm>
-               <indexterm><primary>PADL Software</primary></indexterm>
-               Resolution via NSS. On NSS-enabled systems, there is usually a facility to resolve IDs
-               via multiple methods. The methods typically include <command>files</command>,
-               <command>compat</command>, <command>db</command>, <command>ldap</command>, 
-               <command>nis</command>, <command>nisplus</command>, <command>hesiod.</command>  When
-               correctly installed, Samba adds to this list the <command>winbindd</command> facility.
-               The ldap facility is frequently the nss_ldap tool provided by PADL Software.
-               </para></listitem>
-       </itemizedlist>
-
-       <note><para>
-       To advoid confusion the use of the term <literal>local passdb backend</literal> means that
-       the user account backend is not shared by any other Samba server &smbmdash; instead, it is
-       used only locally on the Samba domain member server under discussion.
-       </para></note>
-
-       <para>
-       <indexterm><primary>Identity resolution</primary></indexterm>
-       The diagram in <link linkend="ch9-sambadc"/> demonstrates the relationship of Samba and system 
-       components that are involved in the identity resolution process where Samba is used as a domain
-       member server within a Samba domain control network.
-       </para>
-
-<figure id="ch9-sambadc">
-       <title>Samba Domain: Samba Member Server</title>
-       <imagefile scale="60">chap9-SambaDC</imagefile>
-</figure>
-
-       <para>
-       <indexterm><primary>IDMAP</primary></indexterm>
-       <indexterm><primary>foreign</primary></indexterm>
-       In this example configuration, Samba will directly search the LDAP-based passwd backend ldapsam
-       to obtain authentication and user identity information. The IDMAP information is stored in the LDAP
-       backend so that it can be shared by all domain member servers so that every user will have a
-       consistent UID and GID across all of them. The IDMAP facility will be used for all foreign
-       (i.e., not having the same SID as the domain it is a member of) domains. The configuration of 
-       NSS will ensure that all UNIX processes will obtain a consistent UID/GID.
-       </para>
-
-       <para>
-       The instructions given here apply to the Samba environment shown in <link linkend="happy"/> and <link linkend="net2000users"/>.
-       If the network does not have an LDAP slave server (i.e., <link linkend="happy"/> configuration), 
-       change the target LDAP server from <constant>lapdc</constant> to <constant>massive.</constant>
-       </para>
-
-       <procedure>
-       <title>Configuration of NSS_LDAP-Based Identity Resolution</title>
-
-               <step><para>
-               Create the &smb.conf; file as shown in <link linkend="ch9-sdmsdc"/>. Locate
-               this file in the directory <filename>/etc/samba</filename>.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>ldap.conf</primary></indexterm>
-               Configure the file that will be used by <constant>nss_ldap</constant> to
-               locate and communicate with the LDAP server. This file is called <filename>ldap.conf</filename>.
-               If your implementation of <constant>nss_ldap</constant> is consistent with
-               the defaults suggested by PADL (the authors), it will be located in the
-               <filename>/etc</filename> directory. On some systems, the default location is
-               the <filename>/etc/openldap</filename> directory, however this file is intended
-               for use by the OpenLDAP utilities and should not really be used by the nss_ldap
-               utility since its content and structure serves the specific purpose of enabling
-               the resolution of user and group IDs via NSS.
-               </para>
-
-               <para>
-               Change the parameters inside the file that is located on your OS so it matches
-               <link linkend="ch9-sdmlcnf"/>.  To find the correct location of this file, you
-               can obtain this from the library that will be used by executing the following:
-<screen>
-&rootprompt; strings /lib/libnss_ldap* | grep ldap.conf
-/etc/ldap.conf
-</screen>
-               </para></step>
-
-               <step><para>
-               Configure the NSS control file so it matches the one shown in
-               <link linkend="ch9-sdmnss"/>.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>Identity resolution</primary></indexterm>
-               <indexterm><primary>getent</primary></indexterm>
-               Before proceeding to configure Samba, validate the operation of the NSS identity 
-               resolution via LDAP by executing:
-<screen>
-&rootprompt; getent passwd
-...
-root:x:0:512:Netbios Domain Administrator:/root:/bin/false
-nobody:x:999:514:nobody:/dev/null:/bin/false
-bobj:x:1000:513:Robert Jordan:/home/bobj:/bin/bash
-stans:x:1001:513:Stanley Soroka:/home/stans:/bin/bash
-chrisr:x:1002:513:Christine Roberson:/home/chrisr:/bin/bash
-maryv:x:1003:513:Mary Vortexis:/home/maryv:/bin/bash
-jht:x:1004:513:John H Terpstra:/home/jht:/bin/bash
-bldg1$:x:1006:553:bldg1$:/dev/null:/bin/false
-temptation$:x:1009:553:temptation$:/dev/null:/bin/false
-vaioboss$:x:1005:553:vaioboss$:/dev/null:/bin/false
-fran$:x:1008:553:fran$:/dev/null:/bin/false
-josephj:x:1007:513:Joseph James:/home/josephj:/bin/bash
-</screen>
-               You should notice the location of the users' home directories. First, make certain that
-               the home directories exist on the domain member server; otherwise, the home directory
-               share is not available. The home directories could be mounted off a domain controller
-               using NFS or by any other suitable means. Second, the absence of the domain name in the
-               home directory path is indicative that identity resolution is not being done via winbind.
-<screen>
-&rootprompt; getent group
-...
-Domain Admins:x:512:root,jht
-Domain Users:x:513:bobj,stans,chrisr,maryv,jht,josephj
-Domain Guests:x:514:
-Accounts:x:1000:
-Finances:x:1001:
-PIOps:x:1002:
-sammy:x:4321:
-</screen>
-               <indexterm><primary>secondary group</primary></indexterm>
-               <indexterm><primary>primary group</primary></indexterm>
-               <indexterm><primary>group membership</primary></indexterm>
-               This shows that all is working as it should be. Notice that in the LDAP database
-               the users' primary and secondary group memberships are identical. It is not
-               necessary to add secondary group memberships (in the group database) if the
-               user is already a member via primary group membership in the password database.
-               When using winbind, it is in fact undesirable to do this because it results in
-               doubling up of group memberships and may cause problems with winbind under certain 
-               conditions. It is intended that these limitations with winbind will be resolved soon
-               after Samba-3.0.20 has been released.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>slapcat</primary></indexterm>
-               The LDAP directory must have a container object for IDMAP data. There are several ways you can
-               check that your LDAP database is able to receive IDMAP information. One of the simplest is to
-               execute:
-<screen>
-&rootprompt; slapcat | grep -i idmap
-dn: ou=Idmap,dc=abmas,dc=biz
-ou: idmap
-</screen>
-               <indexterm><primary>ldapadd</primary></indexterm>
-               If the execution of this command does not return IDMAP entries, you need to create an LDIF
-               template file (see <link linkend="ch9-ldifadd"/>). You can add the required entries using
-               the following command:
-<screen>
-&rootprompt; ldapadd -x -D "cn=Manager,dc=abmas,dc=biz" \
-               -w not24get &lt; /etc/openldap/idmap.LDIF
-</screen>
-               </para></step>
-
-               <step><para>
-               Samba automatically populates the LDAP directory container when it needs to. To permit Samba
-               write access to the LDAP directory it is necessary to set the LDAP administrative password
-               in the <filename>secrets.tdb</filename> file as shown here:
-<screen>
-&rootprompt; smbpasswd -w not24get
-</screen>
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>net</primary><secondary>rpc</secondary><tertiary>join</tertiary></indexterm>
-               <indexterm><primary>Domain join</primary></indexterm>
-               The system is ready to join the domain. Execute the following:
-<screen>
-&rootprompt; net rpc join -U root%not24get
-Joined domain MEGANET2.
-</screen>
-               This indicates that the domain join succeeded.
-               </para>
-
-               <para>
-               Failure to join the domain could be caused by any number of variables. The most common
-               causes of failure to join are:
-               </para>
-
-               <para>
-               <itemizedlist>
-                       <listitem><para>Broken resolution of NetBIOS names to the respective IP address.</para></listitem>
-                       <listitem><para>Incorrect username and password credentials.</para></listitem>
-                       <listitem><para>The NT4 <parameter>restrict anonymous</parameter> is set to exclude anonymous
-                               connections.</para></listitem>
-               </itemizedlist> 
-               </para>
-
-               <para>
-               The connection setup can be diagnosed by executing:
-<screen>
-&rootprompt; net rpc join -S 'pdc-name' -U administrator%password -d 5
-</screen>
-               <indexterm><primary>failed</primary></indexterm>
-               <indexterm><primary>failed join</primary></indexterm>
-               <indexterm><primary>rejected</primary></indexterm>
-               <indexterm><primary>restrict anonymous</primary></indexterm>
-               Note: Use "root" for UNIX/Linux and Samba, use "Administrator" for Windows NT4/200X. If the cause of
-               the failure appears to be related to a rejected or failed NT_SESSION_SETUP*  or an error message that
-               says NT_STATUS_ACCESS_DENIED immediately check the Windows registry setting that controls the
-               <constant>restrict anonymous</constant> setting. Set this to the value 0 so that an anonymous connection
-               can be sustained, then try again.
-               </para>
-
-               <para>
-               It is possible (perhaps even recommended) to use the following to validate the ability to connect
-               to an NT4 PDC/BDC:
-<screen>
-&rootprompt; net rpc info -S 'pdc-name' -U Administrator%not24get
-Domain Name: MEGANET2
-Domain SID: S-1-5-21-422319763-4138913805-7168186429
-Sequence number: 1519909596
-Num users: 7003
-Num domain groups: 821
-Num local groups: 8
-
-&rootprompt; net rpc testjoin -S 'pdc-name' -U Administrator%not24get
-Join to 'MEGANET2' is OK
-</screen>
-               If for any reason the following response is obtained to the last command above,it is time to
-               call in the Networking Super-Snooper task force (i.e., start debugging):
-<screen>
-NT_STATUS_ACCESS_DENIED
-Join to 'MEGANET2' failed.
-</screen>
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>wbinfo</primary></indexterm>
-               Just joining the domain is not quite enough; you must now provide a privileged set
-               of credentials through which <command>winbindd</command> can interact with the 
-               domain servers. Execute the following to implant the necessary credentials:
-<screen>
-&rootprompt; wbinfo --set-auth-user=Administrator%not24get
-</screen>
-               The configuration is now ready to obtain the Samba domain user and group information.
-               </para></step>
-
-               <step><para>
-               You may now start Samba in the usual manner, and your Samba domain member server
-               is ready for use. Just add shares as required.
-               </para></step>
-
-       </procedure>
-
-<example id="ch9-sdmsdc">
-<title>Samba Domain Member in Samba Domain Using LDAP &smbmdash; &smb.conf; File</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="unix charset">LOCALE</smbconfoption>
-<smbconfoption name="workgroup">MEGANET2</smbconfoption>
-<smbconfoption name="security">DOMAIN</smbconfoption>
-<smbconfoption name="username map">/etc/samba/smbusers</smbconfoption>
-<smbconfoption name="log level">10</smbconfoption>
-<smbconfoption name="syslog">0</smbconfoption>
-<smbconfoption name="log file">/var/log/samba/%m</smbconfoption>
-<smbconfoption name="max log size">50</smbconfoption>
-<smbconfoption name="smb ports">139</smbconfoption>
-<smbconfoption name="name resolve order">wins bcast hosts</smbconfoption>
-<smbconfoption name="printcap name">CUPS</smbconfoption>
-<smbconfoption name="wins server">192.168.2.1</smbconfoption>
-<smbconfoption name="ldap suffix">dc=abmas,dc=biz</smbconfoption>
-<smbconfoption name="ldap machine suffix">ou=People</smbconfoption>
-<smbconfoption name="ldap user suffix">ou=People</smbconfoption>
-<smbconfoption name="ldap group suffix">ou=Groups</smbconfoption>
-<smbconfoption name="ldap idmap suffix">ou=Idmap</smbconfoption>
-<smbconfoption name="ldap admin dn">cn=Manager,dc=abmas,dc=biz</smbconfoption>
-<smbconfoption name="idmap backend">ldap:ldap://lapdc.abmas.biz</smbconfoption>
-<smbconfoption name="idmap uid">10000-20000</smbconfoption>
-<smbconfoption name="idmap gid">10000-20000</smbconfoption>
-<smbconfoption name="winbind trusted domains only">Yes</smbconfoption>
-<smbconfoption name="printing">cups</smbconfoption>
-
-<smbconfsection name="[homes]"/>
-<smbconfoption name="comment">Home Directories</smbconfoption>
-<smbconfoption name="valid users">%S</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[printers]"/>
-<smbconfoption name="comment">SMB Print Spool</smbconfoption>
-<smbconfoption name="path">/var/spool/samba</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="printable">Yes</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[print$]"/>
-<smbconfoption name="comment">Printer Drivers</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/drivers</smbconfoption>
-<smbconfoption name="admin users">root, Administrator</smbconfoption>
-<smbconfoption name="write list">root</smbconfoption>
-</smbconfblock>
-</example>
-
-<example id="ch9-ldifadd">
-<title>LDIF IDMAP Add-On Load File &smbmdash; File: /etc/openldap/idmap.LDIF</title>
-<screen>
-dn: ou=Idmap,dc=abmas,dc=biz
-objectClass: organizationalUnit
-ou: idmap
-structuralObjectClass: organizationalUnit
-</screen>
-</example>
-
-<example id="ch9-sdmlcnf">
-<title>Configuration File for NSS LDAP Support &smbmdash; <filename>/etc/ldap.conf</filename></title>
-<screen>
-URI     ldap://massive.abmas.biz ldap://massive.abmas.biz:636
-host    192.168.2.1
-base    dc=abmas,dc=biz
-binddn  cn=Manager,dc=abmas,dc=biz
-bindpw  not24get
-
-pam_password exop
-
-nss_base_passwd ou=People,dc=abmas,dc=biz?one
-nss_base_shadow ou=People,dc=abmas,dc=biz?one
-nss_base_group  ou=Groups,dc=abmas,dc=biz?one
-ssl     no
-</screen>
-</example>
-
-<example id="ch9-sdmnss">
-<title>NSS using LDAP for Identity Resolution &smbmdash; File: <filename>/etc/nsswitch.conf</filename></title>
-<screen>
-passwd:         files ldap
-shadow:         files ldap
-group:          files ldap
-
-hosts:          files dns wins
-networks:       files dns
-
-services:       files
-protocols:      files
-rpc:            files
-ethers:         files
-netmasks:       files
-netgroup:       files
-publickey:      files
-
-bootparams:     files
-automount:      files
-aliases:        files
-</screen>
-</example>
-
-       </sect2>
-
-       <sect2 id="wdcsdm">
-               <title>NT4/Samba Domain with Samba Domain Member Server: Using NSS and Winbind</title>
-
-       <para>
-       You need to use this method for creating a Samba domain member server if any of the following conditions
-       prevail:
-       </para>
-
-       <itemizedlist>
-               <listitem><para>
-               LDAP support (client) is not installed on the system.
-               </para></listitem>
-
-               <listitem><para>
-               There are mitigating circumstances forcing a decision not to use LDAP.
-               </para></listitem>
-
-               <listitem><para>
-               The Samba domain member server must be part of a Windows NT4 Domain, or a Samba Domain.
-               </para></listitem>
-       </itemizedlist>
-
-       <para>
-       <indexterm><primary>Windows ADS Domain</primary></indexterm>
-       <indexterm><primary>Samba Domain</primary></indexterm>
-       <indexterm><primary>LDAP</primary></indexterm>
-       Later in the chapter, you can see how to configure a Samba domain member server for a Windows ADS domain.
-       Right now your objective is to configure a Samba server that can be a member of a Windows NT4-style
-       domain and/or does not use LDAP.
-       </para>
-
-       <note><para>
-       <indexterm><primary>duplicate accounts</primary></indexterm>
-       If you use <command>winbind</command> for identity resolution, make sure that there are no
-       duplicate accounts.
-       </para>
-
-       <para>
-       <indexterm><primary>/etc/passwd</primary></indexterm>
-       For example, do not have more than one account that has UID=0 in the password database. If there 
-       is an account called <constant>root</constant> in the <filename>/etc/passwd</filename> database, 
-       it is okay to have an account called <constant>root</constant> in the LDAP ldapsam or in the 
-       tdbsam. But if there are two accounts in the passdb backend that have the same UID, winbind will 
-       break. This means that the <constant>Administrator</constant> account must be called 
-       <constant>root</constant>.
-       </para>
-
-       <para>
-       <indexterm><primary>/etc/passwd</primary></indexterm>
-       <indexterm><primary>ldapsam</primary></indexterm>
-       <indexterm><primary>tdbsam</primary></indexterm>
-       Winbind will break if there is an account in <filename>/etc/passwd</filename> that has 
-       the same UID as an account that is in LDAP ldapsam (or in tdbsam) but that differs in name only.
-       </para></note>
-
-       <para>
-       <indexterm><primary>credentials</primary></indexterm>
-       <indexterm><primary>traverse</primary></indexterm>
-       <indexterm><primary>wide-area</primary></indexterm>
-       <indexterm><primary>network</primary><secondary>wide-area</secondary></indexterm>
-       <indexterm><primary>tdbdump</primary></indexterm>
-       The following configuration uses CIFS/SMB protocols alone to obtain user and group credentials.
-       The winbind information is locally cached in the <filename>winbindd_cache.tdb winbindd_idmap.tdb</filename>
-       files. This provides considerable performance benefits compared with the LDAP solution, particularly
-       where the LDAP lookups must traverse WAN links. You may examine the contents of these
-       files using the tool <command>tdbdump</command>, though you may have to build this from the Samba
-       source code if it has not been supplied as part of a binary package distribution that you may be using.
-       </para>
-
-       <procedure>
-       <title>Configuration of Winbind-Based Identity Resolution</title>
-
-               <step><para>
-               Using your favorite text editor, create the &smb.conf; file so it has the contents
-               shown in <link linkend="ch0-NT4DSDM"/>.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>/etc/nsswitch.conf</primary></indexterm>
-               Edit the <filename>/etc/nsswitch.conf</filename> so it has the entries shown in
-               <link linkend="ch9-sdmnss"/>.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>net</primary><secondary>rpc</secondary><tertiary>join</tertiary></indexterm>
-               The system is ready to join the domain. Execute the following:
-<screen>
-net rpc join -U root%not2g4et
-Joined domain MEGANET2.
-</screen>
-               This indicates that the domain join succeed.
-
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>winbind</primary></indexterm>
-               <indexterm><primary>wbinfo</primary></indexterm>
-               Validate operation of <command>winbind</command> using the <command>wbinfo</command>
-               tool as follows:
-<screen>
-&rootprompt; wbinfo -u
-MEGANET2+root
-MEGANET2+nobody
-MEGANET2+jht
-MEGANET2+maryv
-MEGANET2+billr
-MEGANET2+jelliott
-MEGANET2+dbrady
-MEGANET2+joeg
-MEGANET2+balap
-</screen>
-               This shows that domain users have been listed correctly.
-<screen>
-&rootprompt; wbinfo -g
-MEGANET2+Domain Admins
-MEGANET2+Domain Users
-MEGANET2+Domain Guests
-MEGANET2+Accounts
-MEGANET2+Finances
-MEGANET2+PIOps
-</screen>
-               This shows that domain groups have been correctly obtained also.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>NSS</primary></indexterm>
-               <indexterm><primary>getent</primary></indexterm>
-               <indexterm><primary>winbind</primary></indexterm>
-               The next step verifies that NSS is able to obtain this information
-               correctly from <command>winbind</command> also.
-<screen>
-&rootprompt; getent passwd
-...
-MEGANET2+root:x:10000:10001:NetBIOS Domain Admin:
-                      /home/MEGANET2/root:/bin/bash
-MEGANET2+nobody:x:10001:10001:nobody:
-                      /home/MEGANET2/nobody:/bin/bash
-MEGANET2+jht:x:10002:10001:John H Terpstra:
-                      /home/MEGANET2/jht:/bin/bash
-MEGANET2+maryv:x:10003:10001:Mary Vortexis:
-                      /home/MEGANET2/maryv:/bin/bash
-MEGANET2+billr:x:10004:10001:William Randalph:
-                      /home/MEGANET2/billr:/bin/bash
-MEGANET2+jelliott:x:10005:10001:John G Elliott:
-                      /home/MEGANET2/jelliott:/bin/bash
-MEGANET2+dbrady:x:10006:10001:Darren Brady:
-                      /home/MEGANET2/dbrady:/bin/bash
-MEGANET2+joeg:x:10007:10001:Joe Green:
-                      /home/MEGANET2/joeg:/bin/bash
-MEGANET2+balap:x:10008:10001:Bala Pillay:
-                      /home/MEGANET2/balap:/bin/bash
-</screen>
-               The user account information has been correctly obtained. This information has
-               been merged with the winbind template information configured in the &smb.conf; file.
-<screen>
-&rootprompt;# getent group
-...
-MEGANET2+Domain Admins:x:10000:MEGANET2+root,MEGANET2+jht
-MEGANET2+Domain Users:x:10001:MEGANET2+jht,MEGANET2+maryv,\
-        MEGANET2+billr,MEGANET2+jelliott,MEGANET2+dbrady,\
-        MEGANET2+joeg,MEGANET2+balap
-MEGANET2+Domain Guests:x:10002:MEGANET2+nobody
-MEGANET2+Accounts:x:10003:
-MEGANET2+Finances:x:10004:
-MEGANET2+PIOps:x:10005:
-</screen>
-               </para></step>
-
-               <step><para>
-               The Samba member server of a Windows NT4 domain is ready for use.
-               </para></step>
-
-       </procedure>
-
-<example id="ch0-NT4DSDM">
-<title>Samba Domain Member Server Using Winbind &smb.conf; File for NT4 Domain</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="unix charset">LOCALE</smbconfoption>
-<smbconfoption name="workgroup">MEGANET2</smbconfoption>
-<smbconfoption name="security">DOMAIN</smbconfoption>
-<smbconfoption name="username map">/etc/samba/smbusers</smbconfoption>
-<smbconfoption name="log level">1</smbconfoption>
-<smbconfoption name="syslog">0</smbconfoption>
-<smbconfoption name="log file">/var/log/samba/%m</smbconfoption>
-<smbconfoption name="max log size">0</smbconfoption>
-<smbconfoption name="smb ports">139</smbconfoption>
-<smbconfoption name="name resolve order">wins bcast hosts</smbconfoption>
-<smbconfoption name="printcap name">CUPS</smbconfoption>
-<smbconfoption name="wins server">192.168.2.1</smbconfoption>
-<smbconfoption name="idmap uid">10000-20000</smbconfoption>
-<smbconfoption name="idmap gid">10000-20000</smbconfoption>
-<smbconfoption name="template primary group">"Domain Users"</smbconfoption>
-<smbconfoption name="template shell">/bin/bash</smbconfoption>
-<smbconfoption name="winbind separator">+</smbconfoption>
-<smbconfoption name="hosts allow">192.168.2., 192.168.3., 127.</smbconfoption>
-<smbconfoption name="printing">cups</smbconfoption>
-
-<smbconfsection name="[homes]"/>
-<smbconfoption name="comment">Home Directories</smbconfoption>
-<smbconfoption name="valid users">%S</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[printers]"/>
-<smbconfoption name="comment">SMB Print Spool</smbconfoption>
-<smbconfoption name="path">/var/spool/samba</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="printable">Yes</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[print$]"/>
-<smbconfoption name="comment">Printer Drivers</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/drivers</smbconfoption>
-<smbconfoption name="admin users">root, Administrator</smbconfoption>
-<smbconfoption name="write list">root</smbconfoption>
-</smbconfblock>
-</example>
-
-       </sect2>
-
-       <sect2 id="dcwonss">
-       <title>NT4/Samba Domain with Samba Domain Member Server without NSS Support</title>
-
-       <para>
-       No matter how many UNIX/Linux administrators there may be who believe that a UNIX operating
-       system that does not have NSS and PAM support to be outdated, the fact is there
-       are still many such systems in use today. Samba can be used without NSS support, but this
-       does limit it to the use of local user and group accounts only.
-       </para>
-
-       <para>
-       The following steps may be followed to implement Samba with support for local accounts.
-       In this configuration Samba is made a domain member server. All incoming connections
-       to the Samba server will cause the look-up of the incoming username. If the account
-       is found, it is used. If the account is not found, one will be automatically created
-       on the local machine so that it can then be used for all access controls.
-       </para>
-
-       <procedure>
-       <title>Configuration Using Local Accounts Only</title>
-
-               <step><para>
-               Using your favorite text editor, create the &smb.conf; file so it has the contents
-               shown in <link linkend="ch0-NT4DSCM"/>.
-               </para></step>
-
-               <step>
-               <para><indexterm><primary>net</primary><secondary>rpc</secondary><tertiary>join</tertiary></indexterm>
-               The system is ready to join the domain. Execute the following:
-<screen>
-net rpc join -U root%not24get
-Joined domain MEGANET2.
-</screen>
-               This indicates that the domain join succeed.
-               </para></step>
-
-               <step><para>
-               Be sure to run all three Samba daemons: <command>smbd</command>, <command>nmbd</command>, <command>winbindd</command>.
-               </para></step>
-
-               <step><para>
-               The Samba member server of a Windows NT4 domain is ready for use.
-               </para></step>
-       </procedure>
-
-<example id="ch0-NT4DSCM">
-<title>Samba Domain Member Server Using Local Accounts &smb.conf; File for NT4 Domain</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="unix charset">LOCALE</smbconfoption>
-<smbconfoption name="workgroup">MEGANET3</smbconfoption>
-<smbconfoption name="netbios name">BSDBOX</smbconfoption>
-<smbconfoption name="security">DOMAIN</smbconfoption>
-<smbconfoption name="username map">/etc/samba/smbusers</smbconfoption>
-<smbconfoption name="log level">1</smbconfoption>
-<smbconfoption name="syslog">0</smbconfoption>
-<smbconfoption name="add user script">/usr/sbin/useradd -m '%u'</smbconfoption>
-<smbconfoption name="add machine script">/usr/sbin/useradd -M '%u'</smbconfoption>
-<smbconfoption name="add group script">/usr/sbin/groupadd '%g'</smbconfoption>
-<smbconfoption name="log file">/var/log/samba/%m</smbconfoption>
-<smbconfoption name="max log size">0</smbconfoption>
-<smbconfoption name="smb ports">139</smbconfoption>
-<smbconfoption name="name resolve order">wins bcast hosts</smbconfoption>
-<smbconfoption name="printcap name">CUPS</smbconfoption>
-<smbconfoption name="wins server">192.168.2.1</smbconfoption>
-<smbconfoption name="hosts allow">192.168.2., 192.168.3., 127.</smbconfoption>
-<smbconfoption name="printing">cups</smbconfoption>
-
-<smbconfsection name="[homes]"/>
-<smbconfoption name="comment">Home Directories</smbconfoption>
-<smbconfoption name="valid users">%S</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[printers]"/>
-<smbconfoption name="comment">SMB Print Spool</smbconfoption>
-<smbconfoption name="path">/var/spool/samba</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="printable">Yes</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[print$]"/>
-<smbconfoption name="comment">Printer Drivers</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/drivers</smbconfoption>
-<smbconfoption name="admin users">root, Administrator</smbconfoption>
-<smbconfoption name="write list">root</smbconfoption>
-</smbconfblock>
-</example>
-       </sect2>
-
-       <sect2 id="adssdm">
-       <title>Active Directory Domain with Samba Domain Member Server</title>
-
-       <para>
-       <indexterm><primary>Active Directory</primary><secondary>join</secondary></indexterm>
-       <indexterm><primary>Kerberos</primary></indexterm>
-       <indexterm><primary>Domain Member</primary><secondary>server</secondary></indexterm>
-       One of the much-sought-after features new to Samba is the ability to join an Active Directory
-       domain using Kerberos protocols. This makes it possible to operate an entire Windows network
-       without the need to run NetBIOS over TCP/IP and permits more secure networking in general. An
-       exhaustively complete discussion of the protocols is not possible in this book; perhaps a
-       later book may explore the intricacies of the NetBIOS-less operation that Samba can participate
-       in. For now, we simply focus on how a Samba server can be made a domain member server.
-       </para>
-
-       <para>
-       <indexterm><primary>Active Directory</primary></indexterm>
-       <indexterm><primary>LDAP</primary></indexterm>
-       <indexterm><primary>Identity resolution</primary></indexterm>
-       <indexterm><primary>Kerberos</primary></indexterm>
-       The diagram in <link linkend="ch9-adsdc"/> demonstrates how Samba interfaces with
-       Microsoft Active Directory components. It should be noted that if Microsoft Windows Services
-       for UNIX (SFU) has been installed and correctly configured, it is possible to use client LDAP
-       for identity resolution just as can be done with Samba when using an LDAP passdb backend.
-       The UNIX tool that you need for this, as in the case of LDAP on UNIX/Linux, is the PADL
-       Software nss_ldap tool-set. Compared with use of winbind and Kerberos, the use of 
-       LDAP-based identity resolution is a little less secure. In view of the fact that this solution
-       requires additional software to be installed on the Windows 200x ADS domain controllers,
-       and that means more management overhead, it is likely that most Samba ADS client sites
-       may elect to use winbind.
-       </para>
-
-       <para>
-       Do not attempt to use this procedure if you are not 100 percent certain that the build of Samba
-       you are using has been compiled and linked with all the tools necessary for this to work.
-       Given the importance of this step, you must first validate that the Samba message block
-       daemon (<command>smbd</command>) has the necessary features.
-       </para>
-
-       <para>
-       The hypothetical domain you are using in this example assumes that the Abmas London office
-       decided to take its own lead (some would say this is a typical behavior in a global
-       corporate world; besides, a little divergence and conflict makes for an interesting life).
-       The Windows Server 2003 ADS domain is called <constant>london.abmas.biz</constant> and the
-       name of the server is <constant>W2K3S</constant>. In ADS realm terms, the domain controller
-       is known as <constant>w2k3s.london.abmas.biz</constant>. In NetBIOS nomenclature, the
-       domain name is <constant>LONDON</constant> and the server name is <constant>W2K3S</constant>.
-       </para>
-
-       <figure id="ch9-adsdc">
-               <title>Active Directory Domain: Samba Member Server</title>
-               <imagefile scale="60">chap9-ADSDC</imagefile>
-       </figure>
-
-       <procedure>
-       <title>Joining a Samba Server as an ADS Domain Member</title>
-
-               <step><para>
-               <indexterm><primary>smbd</primary></indexterm>
-               Before you try to use Samba, you want to know for certain that your executables have
-               support for Kerberos and for LDAP. Execute the following to identify whether or
-               not this build is perhaps suitable for use:
-<screen>
-&rootprompt; cd /usr/sbin
-&rootprompt; smbd -b | grep KRB
-   HAVE_KRB5_H
-   HAVE_ADDR_TYPE_IN_KRB5_ADDRESS
-   HAVE_KRB5
-   HAVE_KRB5_AUTH_CON_SETKEY
-   HAVE_KRB5_GET_DEFAULT_IN_TKT_ETYPES
-   HAVE_KRB5_GET_PW_SALT
-   HAVE_KRB5_KEYBLOCK_KEYVALUE
-   HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK
-   HAVE_KRB5_MK_REQ_EXTENDED
-   HAVE_KRB5_PRINCIPAL_GET_COMP_STRING
-   HAVE_KRB5_SET_DEFAULT_IN_TKT_ETYPES
-   HAVE_KRB5_STRING_TO_KEY
-   HAVE_KRB5_STRING_TO_KEY_SALT
-   HAVE_LIBKRB5
-</screen>
-               This output was obtained on a SUSE Linux system and shows the output for
-               Samba that has been compiled and linked with the Heimdal Kerberos libraries.
-               The following is a typical output that will be found on a Red Hat Linux system that
-               has been linked with the MIT Kerberos libraries:
-<screen>
-&rootprompt; cd /usr/sbin
-&rootprompt; smbd -b | grep KRB
-   HAVE_KRB5_H
-   HAVE_ADDRTYPE_IN_KRB5_ADDRESS
-   HAVE_KRB5
-   HAVE_KRB5_AUTH_CON_SETUSERUSERKEY
-   HAVE_KRB5_ENCRYPT_DATA
-   HAVE_KRB5_FREE_DATA_CONTENTS
-   HAVE_KRB5_FREE_KTYPES
-   HAVE_KRB5_GET_PERMITTED_ENCTYPES
-   HAVE_KRB5_KEYTAB_ENTRY_KEY
-   HAVE_KRB5_LOCATE_KDC
-   HAVE_KRB5_MK_REQ_EXTENDED
-   HAVE_KRB5_PRINCIPAL2SALT
-   HAVE_KRB5_PRINC_COMPONENT
-   HAVE_KRB5_SET_DEFAULT_TGS_KTYPES
-   HAVE_KRB5_SET_REAL_TIME
-   HAVE_KRB5_STRING_TO_KEY
-   HAVE_KRB5_TKT_ENC_PART2
-   HAVE_KRB5_USE_ENCTYPE
-   HAVE_LIBGSSAPI_KRB5
-   HAVE_LIBKRB5
-</screen>
-               You can validate that Samba has been compiled and linked with LDAP support
-               by executing:
-<screen>
-&rootprompt; smbd -b | grep LDAP
-massive:/usr/sbin # smbd -b | grep LDAP
-   HAVE_LDAP_H
-   HAVE_LDAP
-   HAVE_LDAP_DOMAIN2HOSTLIST
-   HAVE_LDAP_INIT
-   HAVE_LDAP_INITIALIZE
-   HAVE_LDAP_SET_REBIND_PROC
-   HAVE_LIBLDAP
-   LDAP_SET_REBIND_PROC_ARGS
-</screen>
-               This does look promising; <command>smbd</command> has been built with Kerberos and LDAP
-               support. You are relieved to know that it is safe to progress.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>Kerberos</primary><secondary>libraries</secondary></indexterm>
-               <indexterm><primary>MIT Kerberos</primary></indexterm>
-               <indexterm><primary>Heimdal Kerberos</primary></indexterm>
-               <indexterm><primary>Kerberos</primary><secondary>MIT</secondary></indexterm>
-               <indexterm><primary>Kerberos</primary><secondary>Heimdal</secondary></indexterm>
-               <indexterm><primary>Red Hat Linux</primary></indexterm>
-               <indexterm><primary>SUSE Linux</primary></indexterm>
-               <indexterm><primary>SerNet</primary></indexterm>
-               <indexterm><primary>validated</primary></indexterm>
-               The next step is to identify which version of the Kerberos libraries have been used.
-               In order to permit Samba to interoperate with Windows 2003 Active Directory, it is
-               essential that it has been linked with either MIT Kerberos version 1.3.1 or later,
-               or that it has been linked with Heimdal Kerberos 0.6 plus specific patches. You may
-               identify what version of the MIT Kerberos libraries are installed on your system by
-               executing (on Red Hat Linux):
-<screen>
-&rootprompt; rpm -q krb5
-</screen>
-               Or on SUSE Linux, execute:
-<screen>
-&rootprompt; rpm -q heimdal
-</screen>
-               Please note that the RPMs provided by the Samba-Team are known to be working and have
-               been validated. Red Hat Linux RPMs may be obtained from the Samba FTP sites. SUSE
-               Linux RPMs may be obtained from <ulink url="ftp://ftp.sernet.de">Sernet</ulink> in
-               Germany.
-               </para>
-
-               <para>
-               From this point on, you are certain that the Samba build you are using has the
-               necessary capabilities. You can now configure Samba and the NSS.
-               </para></step>
-
-               <step><para>
-               Using you favorite editor, configure the &smb.conf; file that is located in the 
-               <filename>/etc/samba</filename> directory so that it has the contents shown 
-               in <link linkend="ch9-adssdm"/>.
-               </para></step>
-
-               <step><para>
-               Edit or create the NSS control file so it has the contents shown in <link linkend="ch9-sdmnss"/>.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>/etc/samba/secrets.tdb</primary></indexterm>
-               Delete the file <filename>/etc/samba/secrets.tdb</filename> if it exists. Of course, you
-               do keep a backup, don't you?
-               </para></step>
-
-               <step><para>
-               Delete the tdb files that cache Samba information. You keep a backup of the old
-               files, of course. You also remove all files to ensure that nothing can pollute your
-               nice, new configuration. Execute the following (example is for SUSE Linux):
-<screen>
-&rootprompt; rm /var/lib/samba/*tdb
-</screen>
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>testparm</primary></indexterm>
-               Validate your &smb.conf; file using <command>testparm</command> (as you have
-               done previously). Correct all errors reported before proceeding. The command you
-               execute is:
-<screen>
-&rootprompt; testparm -s | less
-</screen>
-               Now that you are satisfied that your Samba server is ready to join the Windows
-               ADS domain, let's move on.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>net</primary><secondary>ads</secondary><tertiary>join</tertiary></indexterm>
-               <indexterm><primary>Kerberos</primary></indexterm>
-               This is a good time to double-check everything and then execute the following
-               command when everything you have done has checked out okay:
-<screen>
-&rootprompt; net ads join -UAdministrator%not24get
-Using short domain name -- LONDON
-Joined 'FRAN' to realm 'LONDON.ABMAS.BIZ'
-</screen>
-               You have successfully made your Samba server a member of the ADS domain
-               using Kerberos protocols.
-               </para>
-
-           <para>
-               <indexterm><primary>silent return</primary></indexterm>
-               <indexterm><primary>failed join</primary></indexterm>
-               In the event that you receive no output messages, a silent return means that the
-               domain join failed. You should use <command>ethereal</command> to identify what
-               may be failing. Common causes of a failed join include:
-
-               <itemizedlist>
-                       <listitem><para>
-                       <indexterm><primary>name resolution</primary><secondary>Defective</secondary></indexterm>
-                       Defective or misconfigured DNS name resolution.
-                       </para></listitem>
-
-                       <listitem><para>
-                       <indexterm><primary>Restrictive security</primary></indexterm>
-                       Restrictive security settings on the Windows 200x ADS domain controller
-                       preventing needed communications protocols. You can check this by searching
-                       the Windows Server 200x Event Viewer.
-                       </para></listitem>
-
-                       <listitem><para>
-                       Incorrectly configured &smb.conf; file settings.
-                       </para></listitem>
-
-                       <listitem><para>
-                       Lack of support of necessary Kerberos protocols because the version of MIT
-                       Kerberos (or Heimdal) in use is not up to date enough to support the necessary
-                       functionality.
-                       </para></listitem>
-               </itemizedlist>
-
-               <indexterm><primary>net</primary><secondary>rpc</secondary><tertiary>join</tertiary></indexterm>
-               <indexterm><primary>RPC</primary></indexterm>
-               <indexterm><primary>mixed mode</primary></indexterm>
-               In any case, never execute the <command>net rpc join</command> command in an attempt
-               to join the Samba server to the domain, unless you wish not to use the Kerberos
-               security protocols. Use of the older RPC-based domain join facility requires that
-               Windows Server 200x ADS has been configured appropriately for mixed mode operation.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>tdbdump</primary></indexterm>
-               <indexterm><primary>/etc/samba/secrets.tdb</primary></indexterm>
-               If the <command>tdbdump</command> is installed on your system (not essential),
-               you can look inside the <filename>/etc/samba/secrets.tdb</filename> file. If
-               you wish to do this, execute:
-<screen>
-&rootprompt; tdbdump secrets.tdb
-{
-key = "SECRETS/SID/LONDON"
-data = "\01\04\00\00\00\00\00\05\15\00\00\00\EBw\86\F1\ED\BD\
-   F6{\5C6\E5W\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\
-   00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\
-   00\00\00\00\00\00\00\00"
-}
-{
-key = "SECRETS/MACHINE_PASSWORD/LONDON"
-data = "le3Q5FPnN5.ueC\00"
-}
-{
-key = "SECRETS/MACHINE_SEC_CHANNEL_TYPE/LONDON"
-data = "\02\00\00\00"
-}
-{
-key = "SECRETS/MACHINE_LAST_CHANGE_TIME/LONDON"
-data = "E\89\F6?"
-}
-</screen>
-               This is given to demonstrate to the skeptics that this process truly does work.
-               </para></step>
-
-               <step><para>
-               It is now time to start Samba in the usual way (as has been done many time before
-               in this book).  
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>wbinfo</primary></indexterm>
-               This is a good time to verify that everything is working. First, check that
-               winbind is able to obtain the list of users and groups from the ADS domain controller.
-               Execute the following:
-<screen>
-&rootprompt; wbinfo -u
-LONDON+Administrator
-LONDON+Guest
-LONDON+SUPPORT_388945a0
-LONDON+krbtgt
-LONDON+jht
-</screen>
-               Good, the list of users was obtained. Now do likewise for group accounts:
-<screen>
-&rootprompt; wbinfo -g
-LONDON+Domain Computers
-LONDON+Domain Controllers
-LONDON+Schema Admins
-LONDON+Enterprise Admins
-LONDON+Domain Admins
-LONDON+Domain Users
-LONDON+Domain Guests
-LONDON+Group Policy Creator Owners
-LONDON+DnsUpdateProxy
-</screen>
-               Excellent. That worked also, as expected.
-               </para></step>
-
-         <step><para><indexterm>
-               <primary>getent</primary>
-             </indexterm>
-               Now repeat this via NSS to validate that full identity resolution is
-               functional as required. Execute:
-<screen>
-&rootprompt; getent passwd
-...
-LONDON+Administrator:x:10000:10000:Administrator:
-             /home/LONDON/administrator:/bin/bash
-LONDON+Guest:x:10001:10001:Guest:
-             /home/LONDON/guest:/bin/bash
-LONDON+SUPPORT_388945a0:x:10002:10000:SUPPORT_388945a0:
-             /home/LONDON/support_388945a0:/bin/bash
-LONDON+krbtgt:x:10003:10000:krbtgt:
-             /home/LONDON/krbtgt:/bin/bash
-LONDON+jht:x:10004:10000:John H. Terpstra:
-             /home/LONDON/jht:/bin/bash
-</screen>
-               Okay, ADS user accounts are being resolved. Now you try group resolution:
-<screen>
-&rootprompt; getent group
-...
-LONDON+Domain Computers:x:10002:
-LONDON+Domain Controllers:x:10003:
-LONDON+Schema Admins:x:10004:LONDON+Administrator
-LONDON+Enterprise Admins:x:10005:LONDON+Administrator
-LONDON+Domain Admins:x:10006:LONDON+jht,LONDON+Administrator
-LONDON+Domain Users:x:10000:
-LONDON+Domain Guests:x:10001:
-LONDON+Group Policy Creator Owners:x:10007:LONDON+Administrator
-LONDON+DnsUpdateProxy:x:10008:
-</screen>
-               This is very pleasing. Everything works as expected.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>net</primary><secondary>ads</secondary><tertiary>info</tertiary></indexterm>
-               <indexterm><primary>Active Directory</primary><secondary>server</secondary></indexterm>
-               <indexterm><primary>Kerberos</primary></indexterm>
-               You may now perform final verification that communications between Samba winbind and
-               the Active Directory server is using Kerberos protocols. Execute the following:
-<screen>
-&rootprompt; net ads info
-LDAP server: 192.168.2.123
-LDAP server name: w2k3s
-Realm: LONDON.ABMAS.BIZ
-Bind Path: dc=LONDON,dc=ABMAS,dc=BIZ
-LDAP port: 389
-Server time: Sat, 03 Jan 2004 02:44:44 GMT
-KDC server: 192.168.2.123
-Server time offset: 2
-</screen>
-               It should be noted that Kerberos protocols are time-clock critical. You should
-               keep all server time clocks synchronized using the network time protocol (NTP).
-               In any case, the output we obtained confirms that all systems are operational.
-               </para></step>
-
-               <step><para>
-               <indexterm><primary>net</primary><secondary>ads</secondary><tertiary>status</tertiary></indexterm>
-               There is one more action you elect to take, just because you are paranoid and disbelieving,
-               so you execute the following command:
-<programlisting>
-&rootprompt; net ads status -UAdministrator%not24get
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: user
-objectClass: computer
-cn: fran
-distinguishedName: CN=fran,CN=Computers,DC=london,DC=abmas,DC=biz
-instanceType: 4
-whenCreated: 20040103092006.0Z
-whenChanged: 20040103092006.0Z
-uSNCreated: 28713
-uSNChanged: 28717
-name: fran
-objectGUID: 58f89519-c467-49b9-acb0-f099d73696e
-userAccountControl: 69632
-badPwdCount: 0
-codePage: 0
-countryCode: 0
-badPasswordTime: 0
-lastLogoff: 0
-lastLogon: 127175965783327936
-localPolicyFlags: 0
-pwdLastSet: 127175952062598496
-primaryGroupID: 515
-objectSid: S-1-5-21-4052121579-2079768045-1474639452-1109
-accountExpires: 9223372036854775807
-logonCount: 13
-sAMAccountName: fran$
-sAMAccountType: 805306369
-operatingSystem: Samba
-operatingSystemVersion: 3.0.20-SUSE
-dNSHostName: fran
-userPrincipalName: HOST/fran@LONDON.ABMAS.BIZ
-servicePrincipalName: CIFS/fran.london.abmas.biz
-servicePrincipalName: CIFS/fran
-servicePrincipalName: HOST/fran.london.abmas.biz
-servicePrincipalName: HOST/fran
-objectCategory: CN=Computer,CN=Schema,CN=Configuration,
-                              DC=london,DC=abmas,DC=biz
-isCriticalSystemObject: FALSE
--------------- Security Descriptor (revision: 1, type: 0x8c14)
-owner SID: S-1-5-21-4052121579-2079768045-1474639452-512
-group SID: S-1-5-21-4052121579-2079768045-1474639452-513
-------- (system) ACL (revision: 4, size: 120, number of ACEs: 2)
-------- ACE (type: 0x07, flags: 0x5a, size: 0x38, 
-               mask: 0x20, object flags: 0x3)
-access SID:  S-1-1-0
-access type: AUDIT OBJECT
-Permissions:
-        [Write All Properties]
-------- ACE (type: 0x07, flags: 0x5a, size: 0x38, 
-               mask: 0x20, object flags: 0x3)
-access SID:  S-1-1-0
-access type: AUDIT OBJECT
-Permissions:
-        [Write All Properties]
-------- (user) ACL (revision: 4, size: 1944, number of ACEs: 40)
-------- ACE (type: 0x00, flags: 0x00, size: 0x24, mask: 0xf01ff)
-access SID:  S-1-5-21-4052121579-2079768045-1474639452-512
-access type: ALLOWED
-Permissions: [Full Control]
-------- ACE (type: 0x00, flags: 0x00, size: 0x18, mask: 0xf01ff)
-access SID:  S-1-5-32-548
-...
-------- ACE (type: 0x05, flags: 0x12, size: 0x38, 
-                mask: 0x10, object flags: 0x3)
-access SID:  S-1-5-9
-access type: ALLOWED OBJECT
-Permissions:
-        [Read All Properties]
--------------- End Of Security Descriptor
-</programlisting>
-               And now you have conclusive proof that your Samba ADS domain member server
-               called <constant>FRAN</constant> is able to communicate fully with the ADS
-               domain controllers.
-               </para></step>
-
-       </procedure>
-
-
-       <para>
-       Your Samba ADS domain member server is ready for use. During training sessions,
-       you may be asked what is inside the <filename>winbindd_cache.tdb and winbindd_idmap.tdb</filename>
-       files. Since curiosity just took hold of you, execute the following:
-<programlisting>
-&rootprompt; tdbdump /var/lib/samba/winbindd_idmap.tdb
-{
-key = "S-1-5-21-4052121579-2079768045-1474639452-501\00"
-data = "UID 10001\00"
-}
-{
-key = "UID 10005\00"
-data = "S-1-5-21-4052121579-2079768045-1474639452-1111\00"
-}
-{
-key = "GID 10004\00"
-data = "S-1-5-21-4052121579-2079768045-1474639452-518\00"
-}
-{
-key = "S-1-5-21-4052121579-2079768045-1474639452-502\00"
-data = "UID 10003\00"
-}
-...
-
-&rootprompt; tdbdump /var/lib/samba/winbindd_cache.tdb
-{
-key = "UL/LONDON"
-data = "\00\00\00\00bp\00\00\06\00\00\00\0DAdministrator\0D
-   Administrator-S-1-5-21-4052121579-2079768045-1474639452-500-
-   S-1-5-21-4052121579-2079768045-1474639452-513\05Guest\05
-   Guest-S-1-5-21-4052121579-2079768045-1474639452-501-
-   S-1-5-21-4052121579-2079768045-1474639452-514\10
-   SUPPORT_388945a0\10SUPPORT_388945a0.
-   S-1-5-21-4052121579-2079768045-1474639452-1001-
-   S-1-5-21-4052121579-2079768045-1474639452-513\06krbtgt\06
-   krbtgt-S-1-5-21-4052121579-2079768045-1474639452-502-
-   S-1-5-21-4052121579-2079768045-1474639452-513\03jht\10
-   John H. Terpstra.S-1-5-21-4052121579-2079768045-1474639452-1110-
-   S-1-5-21-4052121579-2079768045-1474639452-513"
-}
-{
-key = "GM/S-1-5-21-4052121579-2079768045-1474639452-512"
-data = "\00\00\00\00bp\00\00\02\00\00\00.
-   S-1-5-21-4052121579-2079768045-1474639452-1110\03
-   jht\01\00\00\00-S-1-5-21-4052121579-2079768045-1474639452-500\0D
-   Administrator\01\00\00\00"
-}
-{
-key = "SN/S-1-5-21-4052121579-2079768045-1474639452-513"
-data = "\00\00\00\00xp\00\00\02\00\00\00\0CDomain Users"
-}
-{
-key = "GM/S-1-5-21-4052121579-2079768045-1474639452-518"
-data = "\00\00\00\00bp\00\00\01\00\00\00-
-   S-1-5-21-4052121579-2079768045-1474639452-500\0D
-   Administrator\01\00\00\00"
-}
-{
-key = "SEQNUM/LONDON\00"
-data = "xp\00\00C\92\F6?"
-}
-{
-key = "U/S-1-5-21-4052121579-2079768045-1474639452-1110"
-data = "\00\00\00\00xp\00\00\03jht\10John H. Terpstra.
-   S-1-5-21-4052121579-2079768045-1474639452-1110-
-   S-1-5-21-4052121579-2079768045-1474639452-513"
-}
-{
-key = "NS/S-1-5-21-4052121579-2079768045-1474639452-502"
-data = "\00\00\00\00bp\00\00-
-   S-1-5-21-4052121579-2079768045-1474639452-502"
-}
-{
-key = "SN/S-1-5-21-4052121579-2079768045-1474639452-1001"
-data = "\00\00\00\00bp\00\00\01\00\00\00\10SUPPORT_388945a0"
-}
-{
-key = "SN/S-1-5-21-4052121579-2079768045-1474639452-500"
-data = "\00\00\00\00bp\00\00\01\00\00\00\0DAdministrator"
-}
-{
-key = "U/S-1-5-21-4052121579-2079768045-1474639452-502"
-data = "\00\00\00\00bp\00\00\06krbtgt\06krbtgt-
-   S-1-5-21-4052121579-2079768045-1474639452-502-
-   S-1-5-21-4052121579-2079768045-1474639452-513"
-}
-....
-</programlisting>
-       Now all is revealed. Your curiosity, as well as that of your team, has been put at ease.
-       May this server serve well all who happen upon it.
-       </para>
-
-<example id="ch9-adssdm">
-<title>Samba Domain Member &smb.conf; File for Active Directory Membership</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="unix charset">LOCALE</smbconfoption>
-<smbconfoption name="workgroup">LONDON</smbconfoption>
-<smbconfoption name="realm">LONDON.ABMAS.BIZ</smbconfoption>
-<smbconfoption name="server string">Samba 3.0.20</smbconfoption>
-<smbconfoption name="security">ADS</smbconfoption>
-<smbconfoption name="username map">/etc/samba/smbusers</smbconfoption>
-<smbconfoption name="log level">1</smbconfoption>
-<smbconfoption name="syslog">0</smbconfoption>
-<smbconfoption name="log file">/var/log/samba/%m</smbconfoption>
-<smbconfoption name="max log size">50</smbconfoption>
-<smbconfoption name="printcap name">CUPS</smbconfoption>
-<smbconfoption name="ldap ssl">no</smbconfoption>
-<smbconfoption name="idmap uid">10000-20000</smbconfoption>
-<smbconfoption name="idmap gid">10000-20000</smbconfoption>
-<smbconfoption name="template primary group">"Domain Users"</smbconfoption>
-<smbconfoption name="template shell">/bin/bash</smbconfoption>
-<smbconfoption name="winbind separator">+</smbconfoption>
-<smbconfoption name="printing">cups</smbconfoption>
-
-<smbconfsection name="[homes]"/>
-<smbconfoption name="comment">Home Directories</smbconfoption>
-<smbconfoption name="valid users">%S</smbconfoption>
-<smbconfoption name="read only">No</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[printers]"/>
-<smbconfoption name="comment">SMB Print Spool</smbconfoption>
-<smbconfoption name="path">/var/spool/samba</smbconfoption>
-<smbconfoption name="guest ok">Yes</smbconfoption>
-<smbconfoption name="printable">Yes</smbconfoption>
-<smbconfoption name="browseable">No</smbconfoption>
-
-<smbconfsection name="[print$]"/>
-<smbconfoption name="comment">Printer Drivers</smbconfoption>
-<smbconfoption name="path">/var/lib/samba/drivers</smbconfoption>
-<smbconfoption name="admin users">root, Administrator</smbconfoption>
-<smbconfoption name="write list">root</smbconfoption>
-</smbconfblock>
-</example>
-
-        <sect3>
-        <title>IDMAP_RID with Winbind</title>
-
-        <para>
-        <indexterm><primary>idmap_rid</primary></indexterm>
-        <indexterm><primary>SID</primary></indexterm>
-        <indexterm><primary>RID</primary></indexterm>
-        <indexterm><primary>IDMAP</primary></indexterm>
-        The <command>idmap_rid</command> facility is a new tool that, unlike native winbind, creates a
-        predictable mapping of MS Windows SIDs to UNIX UIDs and GIDs. The key benefit of this method
-        of implementing the Samba IDMAP facility is that it eliminates the need to store the IDMAP data
-        in a central place. The downside is that it can be used only within a single ADS domain and
-        is not compatible with trusted domain implementations.
-        </para>
-
-        <para>
-        <indexterm><primary>SID</primary></indexterm>
-        <indexterm><primary>allow trusted domains</primary></indexterm>
-        <indexterm><primary>idmap uid</primary></indexterm>
-        <indexterm><primary>idmap gid</primary></indexterm>
-        This alternate method of SID to UID/GID  mapping can be achieved with the idmap_rid
-        plug-in. This plug-in uses the RID of the user SID to derive the UID and GID by adding the
-        RID to a base value specified. This utility requires that the parameter
-        <quote>allow trusted domains = No</quote> must be specified, as it is not compatible
-        with multiple domain environments. The <parameter>idmap uid</parameter> and
-        <parameter>idmap gid</parameter> ranges must be specified.
-        </para>
-
-        <para>
-        <indexterm><primary>idmap_rid</primary></indexterm>
-        <indexterm><primary>realm</primary></indexterm>
-        The idmap_rid facility can be used both for NT4/Samba-style domains as well as with Active Directory.
-        To use this with an NT4 domain, the <parameter>realm</parameter> is not used. Additionally the
-        method used to join the domain uses the <constant>net rpc join</constant> process.
-        </para>
-
-        <para>
-        An example &smb.conf; file for an ADS domain environment is shown in <link linkend="sbe-idmapridex"/>.
-        </para>
-
-<example id="sbe-idmapridex">
-<title>Example &smb.conf; File Using <constant>idmap_rid</constant></title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="workgroup">KPAK</smbconfoption>
-<smbconfoption name="netbios name">BIGJOE</smbconfoption>
-<smbconfoption name="realm">CORP.KPAK.COM</smbconfoption>
-<smbconfoption name="server string">Office Server</smbconfoption>
-<smbconfoption name="security">ADS</smbconfoption>
-<smbconfoption name="allow trusted domains">No</smbconfoption>
-<smbconfoption name="idmap backend">idmap_rid:KPAK=500-100000000</smbconfoption>
-<smbconfoption name="idmap uid">500-100000000</smbconfoption>
-<smbconfoption name="idmap gid">500-100000000</smbconfoption>
-<smbconfoption name="template shell">/bin/bash</smbconfoption>
-<smbconfoption name="winbind use default domain">Yes</smbconfoption>
-<smbconfoption name="winbind enum users">No</smbconfoption>
-<smbconfoption name="winbind enum groups">No</smbconfoption>
-<smbconfoption name="winbind nested groups">Yes</smbconfoption>
-</smbconfblock>
-</example>
-
-        <para>
-        <indexterm><primary>large domain</primary></indexterm>
-        <indexterm><primary>Active Directory</primary></indexterm>
-        <indexterm><primary>response</primary></indexterm>
-        <indexterm><primary>getent</primary></indexterm>
-        In a large domain with many users, it is imperative to disable enumeration of users and groups.
-        For example, at a site that has 22,000 users in Active Directory the winbind-based user and
-        group resolution is unavailable for nearly 12 minutes following first start-up of
-        <command>winbind</command>. Disabling of such enumeration results in instantaneous response.
-        The disabling of user and group enumeration means that it will not be possible to list users
-        or groups using the <command>getent passwd</command> and <command>getent group</command>
-        commands. It will be possible to perform the lookup for individual users, as shown in the procedure
-        below.
-        </para>
-
-        <para>
-        <indexterm><primary>NSS</primary></indexterm>
-        <indexterm><primary>/etc/nsswitch.conf</primary></indexterm>
-        The use of this tool requires configuration of NSS as per the native use of winbind. Edit the
-        <filename>/etc/nsswitch.conf</filename> so it has the following parameters:
-<screen>
-...
-passwd: files winbind
-shadow: files winbind
-group:  files winbind
-...
-hosts:  files wins
-...
-</screen>
-        </para>
-
-        <para>
-        The following procedure can be used to utilize the idmap_rid facility:
-        </para>
-
-        <procedure>
-                <step><para>
-                Create or install and &smb.conf; file with the above configuration.
-                </para></step>
-
-                <step><para>
-                Edit the <filename>/etc/nsswitch.conf</filename> file as shown above.
-                </para></step>
-
-                <step><para>
-                Execute:
-<screen>
-&rootprompt; net ads join -UAdministrator%password
-Using short domain name -- KPAK
-Joined 'BIGJOE' to realm 'CORP.KPAK.COM'
-</screen>
-                </para>
-
-                <para>
-                <indexterm><primary>failed join</primary></indexterm>
-                An invalid or failed join can be detected by executing:
-<screen>
-&rootprompt; net ads testjoin
-BIGJOE$@'s password:
-[2004/11/05 16:53:03, 0] utils/net_ads.c:ads_startup(186)
-  ads_connect: No results returned
-Join to domain is not valid
-</screen>
-                The specific error message may differ from the above because it depends on the type of failure that
-                may have occurred. Increase the <parameter>log level</parameter> to 10, repeat the above test,
-                and then examine the log files produced to identify the nature of the failure.
-                </para></step>
-
-                <step><para>
-                Start the <command>nmbd</command>, <command>winbind,</command> and <command>smbd</command> daemons in the order shown.
-                </para></step>
-
-                <step><para>
-                Validate the operation of this configuration by executing:
-                <indexterm><primary></primary></indexterm>
-<screen>
-&rootprompt; getent passwd administrator
-administrator:x:1000:1013:Administrator:/home/BE/administrator:/bin/bash
-</screen>
-                </para></step>
-        </procedure>
-
-        </sect3>
-
-        <sect3>
-        <title>IDMAP Storage in LDAP using Winbind</title>
-
-        <para>
-        <indexterm><primary>ADAM</primary></indexterm>
-        <indexterm><primary>ADS</primary></indexterm>
-        The storage of IDMAP information in LDAP can be used with both NT4/Samba-style domains as well as
-        with ADS domains. OpenLDAP is a commonly used LDAP server for this purpose, although any standards-compliant
-        LDAP server can be used. It is therefore possible to deploy this IDMAP configuration using
-        the Sun iPlanet LDAP server, Novell eDirectory, Microsoft ADS plus ADAM, and so on.
-        </para>
-
-        <para>
-        The example in <link linkend="sbeunxa"/> is for an ADS-style domain.
-        </para>
-
-<example id="sbeunxa">
-<title>Typical ADS Style Domain &smb.conf; File</title>
-<smbconfblock>
-<smbconfcomment>Global parameters</smbconfcomment>
-<smbconfsection name="[global]"/>
-<smbconfoption name="workgroup">SNOWSHOW</smbconfoption>
-<smbconfoption name="netbios name">GOODELF</smbconfoption>
-<smbconfoption name="realm">SNOWSHOW.COM</smbconfoption>
-<smbconfoption name="server string">Samba Server</smbconfoption>
-<smbconfoption name="security">ADS</smbconfoption>
-<smbconfoption name="log level">1 ads:10 auth:1