mirror of
https://github.com/samba-team/samba.git
synced 2025-03-01 04:58:35 +03:00
provision: Write configuration without help of templates.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Mon Feb 27 00:52:46 CET 2012 on sn-devel-104
This commit is contained in:
parent
bb4de6df6e
commit
687e065036
@ -601,14 +601,6 @@ def make_smbconf(smbconf, hostname, domain, realm, targetdir,
|
||||
if serverrole is None:
|
||||
serverrole = "standalone"
|
||||
|
||||
try:
|
||||
smbconfsuffix = {
|
||||
"domain controller": "dc",
|
||||
"member server": "member",
|
||||
"standalone": "standalone"}[serverrole]
|
||||
except KeyError:
|
||||
raise ValueError("server role %r invalid" % serverrole)
|
||||
|
||||
if sid_generator is None:
|
||||
sid_generator = "internal"
|
||||
|
||||
@ -618,6 +610,14 @@ def make_smbconf(smbconf, hostname, domain, realm, targetdir,
|
||||
assert realm is not None
|
||||
realm = realm.upper()
|
||||
|
||||
global_settings = {
|
||||
"passdb backend": "samba4",
|
||||
"netbios name": netbiosname,
|
||||
"workgroup": domain,
|
||||
"realm": realm,
|
||||
"server role": serverrole,
|
||||
}
|
||||
|
||||
if lp is None:
|
||||
lp = samba.param.LoadParm()
|
||||
#Load non-existant file
|
||||
@ -631,43 +631,39 @@ def make_smbconf(smbconf, hostname, domain, realm, targetdir,
|
||||
lp.set("posix:eadb", os.path.abspath(os.path.join(privdir, "eadb.tdb")))
|
||||
|
||||
if server_services is not None:
|
||||
server_services_line = "server services = " + " ".join(server_services)
|
||||
else:
|
||||
server_services_line = ""
|
||||
global_settings["server services"] = " ".join(server_services)
|
||||
|
||||
if targetdir is not None:
|
||||
privatedir_line = "private dir = " + os.path.abspath(os.path.join(targetdir, "private"))
|
||||
lockdir_line = "lock dir = " + os.path.abspath(targetdir)
|
||||
statedir_line = "state directory = " + os.path.abspath(targetdir)
|
||||
cachedir_line = "cache directory = " + os.path.abspath(targetdir)
|
||||
global_settings["private dir"] = os.path.abspath(os.path.join(targetdir, "private"))
|
||||
global_settings["lock dir"] = os.path.abspath(targetdir)
|
||||
global_settings["state directory"] = os.path.abspath(targetdir)
|
||||
global_settings["cache directory"] = os.path.abspath(targetdir)
|
||||
|
||||
lp.set("lock dir", os.path.abspath(targetdir))
|
||||
lp.set("state directory", os.path.abspath(targetdir))
|
||||
lp.set("cache directory", os.path.abspath(targetdir))
|
||||
else:
|
||||
privatedir_line = ""
|
||||
lockdir_line = ""
|
||||
statedir_line = ""
|
||||
cachedir_line = ""
|
||||
|
||||
sysvol = os.path.join(lp.get("state directory"), "sysvol")
|
||||
netlogon = os.path.join(sysvol, realm.lower(), "scripts")
|
||||
shares = {}
|
||||
if serverrole == "domain controller":
|
||||
shares["sysvol"] = os.path.join(global_settings["state directory"],
|
||||
"sysvol")
|
||||
shares["netlogon"] = os.path.join(shares["sysvol"], realm.lower(),
|
||||
"scripts")
|
||||
|
||||
setup_file(setup_path("provision.smb.conf.%s" % smbconfsuffix),
|
||||
smbconf, {
|
||||
"NETBIOS_NAME": netbiosname,
|
||||
"DOMAIN": domain,
|
||||
"REALM": realm,
|
||||
"SERVERROLE": serverrole,
|
||||
"NETLOGONPATH": netlogon,
|
||||
"SYSVOLPATH": sysvol,
|
||||
"PRIVATEDIR_LINE": privatedir_line,
|
||||
"LOCKDIR_LINE": lockdir_line,
|
||||
"STATEDIR_LINE": statedir_line,
|
||||
"CACHEDIR_LINE": cachedir_line,
|
||||
"SERVER_SERVICES_LINE": server_services_line
|
||||
})
|
||||
f = open(smbconf, 'w')
|
||||
try:
|
||||
f.write("[globals]\n")
|
||||
for key, val in global_settings.iteritems():
|
||||
f.write("\t%s = %s\n" % (key, val))
|
||||
f.write("\n")
|
||||
|
||||
for name, path in shares.iteritems():
|
||||
f.write("[%s]\n" % name)
|
||||
f.write("\tpath = %s\n" % path)
|
||||
f.write("\tread only = no\n")
|
||||
f.write("\n")
|
||||
finally:
|
||||
f.close()
|
||||
# reload the smb.conf
|
||||
lp.load(smbconf)
|
||||
|
||||
|
@ -1,21 +0,0 @@
|
||||
[globals]
|
||||
netbios name = ${NETBIOS_NAME}
|
||||
workgroup = ${DOMAIN}
|
||||
realm = ${REALM}
|
||||
server role = ${SERVERROLE}
|
||||
${SERVER_SERVICES_LINE}
|
||||
|
||||
${PRIVATEDIR_LINE}
|
||||
${LOCKDIR_LINE}
|
||||
${STATEDIR_LINE}
|
||||
${CACHEDIR_LINE}
|
||||
|
||||
passdb backend = samba4
|
||||
|
||||
[netlogon]
|
||||
path = ${NETLOGONPATH}
|
||||
read only = no
|
||||
|
||||
[sysvol]
|
||||
path = ${SYSVOLPATH}
|
||||
read only = no
|
@ -1,12 +0,0 @@
|
||||
[globals]
|
||||
netbios name = ${NETBIOS_NAME}
|
||||
workgroup = ${DOMAIN}
|
||||
realm = ${REALM}
|
||||
server role = ${SERVERROLE}
|
||||
${PRIVATEDIR_LINE}
|
||||
${LOCKDIR_LINE}
|
||||
${STATEDIR_LINE}
|
||||
${CACHEDIR_LINE}
|
||||
|
||||
passdb backend = samba4
|
||||
|
@ -1,12 +0,0 @@
|
||||
[globals]
|
||||
netbios name = ${NETBIOS_NAME}
|
||||
workgroup = ${DOMAIN}
|
||||
realm = ${REALM}
|
||||
server role = ${SERVERROLE}
|
||||
${PRIVATEDIR_LINE}
|
||||
${LOCKDIR_LINE}
|
||||
${STATEDIR_LINE}
|
||||
${CACHEDIR_LINE}
|
||||
|
||||
passdb backend = samba4
|
||||
|
Loading…
x
Reference in New Issue
Block a user