def make_smbconf(smbconf, setup_path, hostname, domain, realm, serverrole,
- targetdir, sid_generator,eadb):
+ targetdir, sid_generator="internal", eadb=False):
"""Create a new smb.conf file based on a couple of basic settings.
"""
assert smbconf is not None
def setup_samdb(path, setup_path, session_info, provision_backend, lp, names,
logger, domainsid, domainguid, policyguid, policyguid_dc, fill,
adminpass, krbtgtpass, machinepass, invocationid, dnspass, ntdsguid,
- serverrole, am_rodc, dom_for_fun_level=None, schema=None):
+ serverrole, am_rodc=False, dom_for_fun_level=None, schema=None):
"""Setup a complete SAM Database.
:note: This will wipe the main SAM database file!
sitename=None,
ol_mmr_urls=None, ol_olc=None,
setup_ds_path=None, slapd_path=None, nosync=False,
- ldap_dryrun_mode=False,useeadb=False, am_rodc=False):
+ ldap_dryrun_mode=False, useeadb=False, am_rodc=False):
"""Provision samba4
:note: caution, this wipes all existing data!
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-from samba.auth import system_session
import logging
import os
-from samba.provision import setup_samdb, guess_names, make_smbconf, find_setup_dir
+import uuid
+
+from samba.auth import system_session
+from samba.provision import setup_samdb, guess_names, make_smbconf, find_setup_dir, provision_paths_from_lp
+from samba.provisionbackend import ProvisionBackend
from samba.tests import TestCaseInTempDir
from samba.dcerpc import security
-import uuid
+from samba.schema import Schema
from samba import param
domain="EXAMPLE"
dnsdomain="example.com"
serverrole="domain controller"
+ policyguid_dc = str(uuid.uuid4()).upper()
smbconf = os.path.join(self.tempdir, "smb.conf")
make_smbconf(smbconf, self.setup_path, hostname, domain, dnsdomain,
paths = provision_paths_from_lp(self.lp, names.dnsdomain)
- provision_backend = ProvisionBackend("ldb", backend_type,
- paths=paths, setup_path=self.setup_path,
- lp=self.lp, credentials=None,
- names=names,
- message=message, hostname=hostname,
- root=root, schema=schema,
- domainsid=domainsid)
-
- self.samdb = setup_samdb(path, self.setup_path, session_info, provision_backend,
- self.lp, names,
- logging.getLogger("samdb"), domainsid,
- domainguid,
- policyguid, False, "secret",
- "secret", "secret", invocationid,
- "secret", "domain controller")
+ logger = logging.getLogger("provision")
+
+ provision_backend = ProvisionBackend("ldb", paths=paths,
+ setup_path=self.setup_path, lp=self.lp, credentials=None,
+ names=names, logger=logger)
+
+ schema = Schema(self.setup_path, domainsid, invocationid=invocationid,
+ schemadn=names.schemadn, serverdn=names.serverdn,
+ am_rodc=False)
+
+ self.samdb = setup_samdb(path, self.setup_path, session_info,
+ provision_backend, self.lp, names, logger,
+ domainsid, domainguid, policyguid, policyguid_dc, False,
+ "secret", "secret", "secret", invocationid, "secret",
+ None, "domain controller", schema=schema)
def tearDown(self):
for f in ['schema.ldb', 'configuration.ldb',