mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
54a3560498
The LDAP backend for the Samba AD DC, aiming to store the AD DC in
an existing LDAP server was largely removed many years aga, but the
other parts were removed in 2b0fc74a09
.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Thu Apr 23 06:12:20 UTC 2020 on sn-devel-184
88 lines
2.3 KiB
Python
88 lines
2.3 KiB
Python
#
|
|
# Unix SMB/CIFS implementation.
|
|
# backend code for provisioning a Samba4 server
|
|
|
|
# Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007-2008
|
|
# Copyright (C) Andrew Bartlett <abartlet@samba.org> 2008-2009
|
|
# Copyright (C) Oliver Liebel <oliver@itc.li> 2008-2009
|
|
#
|
|
# Based on the original in EJS:
|
|
# Copyright (C) Andrew Tridgell <tridge@samba.org> 2005
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
"""Functions for setting up a Samba configuration (LDB and LDAP backends)."""
|
|
|
|
import shutil
|
|
|
|
class BackendResult(object):
|
|
|
|
def report_logger(self, logger):
|
|
"""Rerport this result to a particular logger.
|
|
|
|
"""
|
|
raise NotImplementedError(self.report_logger)
|
|
|
|
|
|
class ProvisionBackend(object):
|
|
|
|
def __init__(self, paths=None, lp=None,
|
|
names=None, logger=None):
|
|
"""Provision a backend for samba4"""
|
|
self.paths = paths
|
|
self.lp = lp
|
|
self.names = names
|
|
self.logger = logger
|
|
|
|
self.type = "ldb"
|
|
|
|
def init(self):
|
|
"""Initialize the backend."""
|
|
raise NotImplementedError(self.init)
|
|
|
|
def start(self):
|
|
"""Start the backend."""
|
|
raise NotImplementedError(self.start)
|
|
|
|
def shutdown(self):
|
|
"""Shutdown the backend."""
|
|
raise NotImplementedError(self.shutdown)
|
|
|
|
def post_setup(self):
|
|
"""Post setup.
|
|
|
|
:return: A BackendResult or None
|
|
"""
|
|
raise NotImplementedError(self.post_setup)
|
|
|
|
|
|
class LDBBackend(ProvisionBackend):
|
|
|
|
def init(self):
|
|
|
|
# Wipe the old sam.ldb databases away
|
|
shutil.rmtree(self.paths.samdb + ".d", True)
|
|
|
|
def start(self):
|
|
pass
|
|
|
|
def shutdown(self):
|
|
pass
|
|
|
|
def post_setup(self):
|
|
pass
|
|
|
|
|