From 7b99b2048ef1cd5603d93ac94543838a049d0adc Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 31 Jul 2006 01:00:18 +0000 Subject: r17330: Enable the partitions module. This module redirects various samdb requests into different modules, depending on the prefix. It also makes moving to an LDAP backend easier, as it is just a different partition backend. This adds yet another stage to the provision process, as we must setup the partitions before we setup the magic attributes. Andrew Bartlett (This used to be commit 31225b9cb6ef6fcb7bd831043999b1b44ef1b128) --- source4/scripting/libjs/provision.js | 5 ++++- source4/setup/provision_init.ldif | 14 -------------- source4/setup/provision_partitions.ldif | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+), 15 deletions(-) create mode 100644 source4/setup/provision_partitions.ldif (limited to 'source4') diff --git a/source4/scripting/libjs/provision.js b/source4/scripting/libjs/provision.js index c4ffab6a30..232d15d66f 100644 --- a/source4/scripting/libjs/provision.js +++ b/source4/scripting/libjs/provision.js @@ -479,8 +479,11 @@ function provision(subobj, message, blank, paths, session_info, credentials) message("Setting up hklm.ldb\n"); setup_ldb("hklm.ldif", info, paths.hklm); + message("Setting up sam.ldb partitions\n"); + setup_ldb("provision_partitions.ldif", info, paths.samdb); + message("Setting up sam.ldb attributes\n"); - setup_ldb("provision_init.ldif", info, paths.samdb); + setup_ldb("provision_init.ldif", info, paths.samdb, NULL, false); message("Erasing data from partitions\n"); ldb_erase_partitions(info, paths.samdb); diff --git a/source4/setup/provision_init.ldif b/source4/setup/provision_init.ldif index a46c86aadc..91405b2d4c 100644 --- a/source4/setup/provision_init.ldif +++ b/source4/setup/provision_init.ldif @@ -55,14 +55,10 @@ passwordAttribute: lmPwdHash passwordAttribute: sambaLMPwdHistory passwordAttribute: krb5key - # the rootDSE module looks in this record for its base data dn: cn=ROOTDSE subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,${BASEDN} dsServiceName: CN=NTDS Settings,CN=${NETBIOSNAME},CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,${BASEDN} -namingContexts: ${BASEDN} -namingContexts: CN=Configuration,${BASEDN} -namingContexts: CN=Schema,CN=Configuration,${BASEDN} defaultNamingContext: ${BASEDN} rootDomainNamingContext: ${BASEDN} configurationNamingContext: CN=Configuration,${BASEDN} @@ -78,13 +74,3 @@ isSynchronized: TRUE vendorName: Samba Team (http://samba.org) vendorVersion: ${VERSION} -#Add modules to the list to activate them by default -#beware often order is important -# -# Some Known ordering constraints: -# - rootdse must be first, as it makes redirects from "" -> cn=rootdse -# - samldb must be before password_hash, because password_hash checks that the objectclass is of type person (filled in by samldb) - -dn: @MODULES -@LIST: rootdse,kludge_acl,paged_results,server_sort,extended_dn,asq,samldb,objectclass,password_hash,operational,objectguid,rdn_name - diff --git a/source4/setup/provision_partitions.ldif b/source4/setup/provision_partitions.ldif new file mode 100644 index 0000000000..58fea65bae --- /dev/null +++ b/source4/setup/provision_partitions.ldif @@ -0,0 +1,19 @@ +dn: @PARTITION +partition: CN=Schema,CN=Configuration,${BASEDN}:schema.ldb +partition: CN=Configuration,${BASEDN}:configuration.ldb +partition: CN=Templates,${BASEDN}:templates.ldb +partition: ${BASEDN}:${LDAPBACKEND} +replicateEntries: @SUBCLASSES +replicateEntries: @ATTRIBUTES +replicateEntries: @INDEXLIST + +#Add modules to the list to activate them by default +#beware often order is important +# +# Some Known ordering constraints: +# - rootdse must be first, as it makes redirects from "" -> cn=rootdse +# - samldb must be before password_hash, because password_hash checks that the objectclass is of type person (filled in by samldb) +# - partition must be last + +dn: @MODULES +@LIST: rootdse,kludge_acl,paged_results,server_sort,extended_dn,asq,samldb,objectguid,password_hash,operational,objectclass,rdn_name,partition -- cgit