s4 provision: split up DNS provisioning into generic and samba-specific ldifs
authorKai Blin <kai@samba.org>
Sat, 25 Jun 2011 22:36:25 +0000 (00:36 +0200)
committerKai Blin <kai@samba.org>
Wed, 6 Jul 2011 22:10:27 +0000 (00:10 +0200)
Signed-off-by: Kai Blin <kai@samba.org>
source4/scripting/python/samba/provision/__init__.py
source4/setup/provision_dns_add.ldif
source4/setup/provision_dns_add_samba.ldif [new file with mode: 0644]

index 5aabd36c1a8e6b6a79bef4d6ff3f0fbd7ea31bcb..4b2ce7cd225d8f4134773e8b648e99001ff216da 100644 (file)
@@ -1101,9 +1101,10 @@ def setup_self_join(samdb, names, machinepass, dnspass,
               "RIDALLOCATIONEND": str(next_rid + 100 + 499),
               })
 
-    # This is partially Samba4 specific and should be replaced by the correct
+    setup_ad_dns(samdb, names)
+    # This is Samba4 specific and should be replaced by the correct
     # DNS AD-style setup
-    setup_add_ldif(samdb, setup_path("provision_dns_add.ldif"), {
+    setup_add_ldif(samdb, setup_path("provision_dns_add_samba.ldif"), {
               "DNSDOMAIN": names.dnsdomain,
               "DOMAINDN": names.domaindn,
               "DNSPASS_B64": b64encode(dnspass.encode('utf-16-le')),
@@ -1113,6 +1114,13 @@ def setup_self_join(samdb, names, machinepass, dnspass,
               })
 
 
+def setup_ad_dns(samdb, names):
+    setup_add_ldif(samdb, setup_path("provision_dns_add.ldif"), {
+              "DOMAINDN": names.domaindn,
+              "DNSNAME" : '%s.%s' % (
+                  names.netbiosname.lower(), names.dnsdomain.lower())
+              })
+
 def getpolicypath(sysvolpath, dnsdomain, guid):
     """Return the physical path of policy given its guid.
 
index 2263fcbdb702348b1059773672ffee875b09cc12..3039bc0485320248587c070e85d3e4d4a27df74a 100644 (file)
@@ -15,6 +15,10 @@ dn: CN=MicrosoftDNS,CN=System,${DOMAINDN}
 objectClass: container
 displayName: DNS Servers
 
+
+dn: DC=${DNSNAME},CN=MicrosoftDNS,CN=System,${DOMAINDN}
+objectClass: dnsZone
+
 dn: DC=RootDNSServers,CN=MicrosoftDNS,CN=System,${DOMAINDN}
 objectClass: dnsZone
 
@@ -86,22 +90,3 @@ dn: DC=j.root-servers.net,DC=RootDNSServers,CN=MicrosoftDNS,CN=System,${DOMAINDN
 objectClass: dnsNode
 dnsRecord:: BAABAAUIAAAAAAAAAAAAAAAAAAAAAAAAwDqAHg==
 
-
-# NOTE: This account is SAMBA4 specific!
-# we have it to avoid the need for the bind daemon to
-# have access to the whole secrets.keytab for the domain,
-# otherwise bind could impersonate any user
-dn: CN=dns-${HOSTNAME},CN=Users,${DOMAINDN}
-objectClass: top
-objectClass: person
-objectClass: organizationalPerson
-objectClass: user
-description: DNS Service Account for ${HOSTNAME}
-userAccountControl: 512
-accountExpires: 9223372036854775807
-sAMAccountName: dns-${HOSTNAME}
-servicePrincipalName: DNS/${DNSNAME}
-servicePrincipalName: DNS/${DNSDOMAIN}
-clearTextPassword:: ${DNSPASS_B64}
-isCriticalSystemObject: TRUE
-
diff --git a/source4/setup/provision_dns_add_samba.ldif b/source4/setup/provision_dns_add_samba.ldif
new file mode 100644 (file)
index 0000000..6c664d9
--- /dev/null
@@ -0,0 +1,17 @@
+# NOTE: This account is SAMBA4 specific!
+# we have it to avoid the need for the bind daemon to
+# have access to the whole secrets.keytab for the domain,
+# otherwise bind could impersonate any user
+dn: CN=dns-${HOSTNAME},CN=Users,${DOMAINDN}
+objectClass: top
+objectClass: person
+objectClass: organizationalPerson
+objectClass: user
+description: DNS Service Account for ${HOSTNAME}
+userAccountControl: 512
+accountExpires: 9223372036854775807
+sAMAccountName: dns-${HOSTNAME}
+servicePrincipalName: DNS/${DNSNAME}
+servicePrincipalName: DNS/${DNSDOMAIN}
+clearTextPassword:: ${DNSPASS_B64}
+isCriticalSystemObject: TRUE