mirror of
https://github.com/samba-team/samba.git
synced 2025-08-04 08:22:08 +03:00
r9756: One-way upgrade from Samba3->Samba4 basically works now
Still need to polish some rough edges
(This used to be commit a8f309aa81
)
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
d4f22109ee
commit
c9ace93ce2
@ -217,6 +217,8 @@ function provision(subobj, message, blank)
|
||||
subobj.HOSTNAME = strlower(subobj.HOSTNAME);
|
||||
subobj.DOMAIN = strupper(subobj.DOMAIN);
|
||||
subobj.NETBIOSNAME = strupper(subobj.HOSTNAME);
|
||||
var rdns = split(",", subobj.BASEDN);
|
||||
subobj.RDN_DC = substr(rdns[0], strlen("DC="));
|
||||
|
||||
data = add_foreign(data, "S-1-5-7", "Anonymous", "${NOBODY}");
|
||||
data = add_foreign(data, "S-1-1-0", "World", "${NOGROUP}");
|
||||
@ -297,9 +299,8 @@ function provision_guess()
|
||||
subobj.DNSNAME = sprintf("%s.%s",
|
||||
strlower(subobj.HOSTNAME),
|
||||
subobj.DNSDOMAIN);
|
||||
subobj.BASEDN = "DC=" + join(",DC=", split(".", subobj.REALM));
|
||||
rdn_list = split(".", subobj.REALM);
|
||||
subobj.RDN_DC = rdn_list[0];
|
||||
subobj.BASEDN = "DC=" + join(",DC=", rdn_list);
|
||||
return subobj;
|
||||
}
|
||||
|
||||
|
@ -241,7 +241,7 @@ function upgrade_provision(samba3)
|
||||
} else {
|
||||
println("Can't find domain secrets for '" + domainname + "'; using random SID and GUID");
|
||||
subobj.DOMAINGUID = randguid();
|
||||
subobj.DOMAINSID = randguid();
|
||||
subobj.DOMAINSID = randsid();
|
||||
}
|
||||
|
||||
if (hostsec) {
|
||||
@ -270,7 +270,6 @@ function upgrade_provision(samba3)
|
||||
subobj.DNSDOMAIN);
|
||||
subobj.BASEDN = "DC=" + join(",DC=", split(".", subobj.REALM));
|
||||
rdn_list = split(".", subobj.REALM);
|
||||
subobj.RDN_DC = rdn_list[0];
|
||||
return subobj;
|
||||
}
|
||||
|
||||
@ -403,7 +402,6 @@ function upgrade(subobj, samba3, message)
|
||||
|
||||
message("Importing account policies\n");
|
||||
var ldif = upgrade_sam_policy(samba3,subobj.BASEDN);
|
||||
ldifprint(ldif);
|
||||
ok = samdb.modify(ldif);
|
||||
assert(ok);
|
||||
|
||||
@ -411,31 +409,28 @@ function upgrade(subobj, samba3, message)
|
||||
|
||||
message("Importing users\n");
|
||||
for (var i in samba3.samaccounts) {
|
||||
message("Importing user '" + samba3.samaccounts[i].username + "'\n");
|
||||
message("... " + samba3.samaccounts[i].username + "\n");
|
||||
var ldif = upgrade_sam_account(samba3.samaccounts[i],subobj.BASEDN);
|
||||
ldifprint(ldif);
|
||||
ok = samdb.add(ldif);
|
||||
assert(ok);
|
||||
}
|
||||
|
||||
message("Importing groups\n");
|
||||
for (var i in samba3.groupmappings) {
|
||||
message("Importing group '" + samba3.groupmappings[i].username + "'\n");
|
||||
message("... " + samba3.groupmappings[i].nt_name + "\n");
|
||||
var ldif = upgrade_sam_group(samba3.groupmappings[i],subobj.BASEDN);
|
||||
ldifprint(ldif);
|
||||
ok = samdb.add(ldif);
|
||||
assert(ok);
|
||||
}
|
||||
|
||||
message("Importing registry data\n");
|
||||
var hives = new Array("hkcr","hkcu","hklm","hkpd");
|
||||
var hives = new Array("hkcr","hkcu","hklm","hkpd","hku","hkpt");
|
||||
for (var i in hives) {
|
||||
println("... " + hives[i]);
|
||||
message("... " + hives[i] + "\n");
|
||||
var regdb = ldb_init();
|
||||
ok = regdb.connect(hives[i] + ".ldb");
|
||||
assert(ok);
|
||||
var ldif = upgrade_registry(samba3.registry, hives[i]);
|
||||
ldifprint(ldif);
|
||||
ok = regdb.add(ldif);
|
||||
assert(ok);
|
||||
}
|
||||
@ -446,7 +441,6 @@ function upgrade(subobj, samba3, message)
|
||||
assert(ok);
|
||||
|
||||
var ldif = upgrade_wins(samba3);
|
||||
ldifprint(ldif);
|
||||
ok = winsdb.add(ldif);
|
||||
assert(ok);
|
||||
|
||||
|
Reference in New Issue
Block a user