s4: Re-add --ldapadminpass as an option to provision
authorAndrew Bartlett <abartlet@samba.org>
Thu, 13 Aug 2009 23:37:50 +0000 (09:37 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 16 Aug 2009 23:51:00 +0000 (09:51 +1000)
This should make setting up LDAP servers more predictable.

When not specified, it is random

Andrew Bartlett

source4/scripting/python/samba/provision.py
source4/setup/provision

index 12625d98d6a7af4c152c96b9689a7c20bdc945ff..bcb6566998eca1e8da20b0512b51679907c9eb93 100644 (file)
@@ -969,7 +969,8 @@ def provision(setup_dir, message, session_info,
               rootdn=None, domaindn=None, schemadn=None, configdn=None, 
               serverdn=None,
               domain=None, hostname=None, hostip=None, hostip6=None, 
-              domainsid=None, adminpass=None, krbtgtpass=None, domainguid=None, 
+              domainsid=None, adminpass=None, ldapadminpass=None, 
+              krbtgtpass=None, domainguid=None, 
               policyguid=None, invocationid=None, machinepass=None, 
               dnspass=None, root=None, nobody=None, users=None, 
               wheel=None, backup=None, aci=None, serverrole=None, 
@@ -998,6 +999,11 @@ def provision(setup_dir, message, session_info,
         machinepass  = glue.generate_random_str(12)
     if dnspass is None:
         dnspass = glue.generate_random_str(12)
+    if ldapadminpass is None:
+        #Make a new, random password between Samba and it's LDAP server
+        ldapadminpass=glue.generate_random_str(12)        
+
+
     root_uid = findnss_uid([root or "root"])
     nobody_uid = findnss_uid([nobody or "nobody"])
     users_gid = findnss_gid([users or "users"])
@@ -1062,6 +1068,7 @@ def provision(setup_dir, message, session_info,
                                              names=names,
                                              message=message, hostname=hostname, 
                                              root=root, schema=schema, ldap_backend_type=ldap_backend_type,
+                                             ldapadminpass=ldapadminpass,
                                              ldap_backend_extra_port=ldap_backend_extra_port,
                                              ol_mmr_urls=ol_mmr_urls, 
                                              slapd_path=slapd_path,
@@ -1258,7 +1265,7 @@ class ProvisionBackend(object):
     def __init__(self, paths=None, setup_path=None, lp=None, credentials=None, 
                  names=None, message=None, 
                  hostname=None, root=None, 
-                 schema=None,
+                 schema=None, ldapadminpass=None,
                  ldap_backend_type=None, ldap_backend_extra_port=None,
                  ol_mmr_urls=None, 
                  setup_ds_path=None, slapd_path=None, 
@@ -1335,9 +1342,6 @@ class ProvisionBackend(object):
         self.credentials.guess(lp)
         self.ldap_backend_type = ldap_backend_type
 
-        #Make a new, random password between Samba and it's LDAP server
-        ldapadminpass=glue.generate_random_str(12)        
-
         if ldap_backend_type == "fedora-ds":
             provision_fds_backend(self, paths=paths, setup_path=setup_path, names=names, message=message, 
                                   hostname=hostname, ldapadminpass=ldapadminpass, root=root, 
index 5686ee0e2628eb1b30c4fefd48350720cc5b104c..27a33122be7ef85a488d1103e2c66a6a9a1f3f69 100755 (executable)
@@ -70,6 +70,8 @@ parser.add_option("--machinepass", type="string", metavar="PASSWORD",
                help="choose machine password (otherwise random)")
 parser.add_option("--dnspass", type="string", metavar="PASSWORD", 
                help="choose dns password (otherwise random)")
+parser.add_option("--ldapadminpass", type="string", metavar="PASSWORD", 
+               help="choose password to set between Samba and it's LDAP backend (otherwise random)")
 parser.add_option("--root", type="string", metavar="USERNAME", 
                help="choose 'root' unix username")
 parser.add_option("--nobody", type="string", metavar="USERNAME", 
@@ -188,6 +190,7 @@ provision(setup_dir, message,
           serverrole=server_role, 
           ldap_backend_extra_port=opts.ldap_backend_extra_port, 
           ldap_backend_type=opts.ldap_backend_type,
+         ldapadminpass=opts.ldapadminpass,
          ol_mmr_urls=opts.ol_mmr_urls,
          slapd_path=opts.slapd_path,
          setup_ds_path=opts.setup_ds_path,