1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-09 20:23:51 +03:00

r8790: Finish the migration of aliases and privilages with SamSync, by adding

templating support for foreignSecurityPrincipals to the samdb module.
This is an extension beyond what microsoft does, and has been very
useful :-)

The setup scripts have been modified to use the new template, as has
the SAMR and LSA code.

Other cleanups in LSA remove the assumption that the short domain name
is the first component of the realm.

Also add a lot of useful debug messages, to make it clear how/why the
SamSync may have gone wrong.  Many of these should perhaps be hooked
into an error string.

Andrew Bartlett
This commit is contained in:
Andrew Bartlett
2005-07-27 00:23:09 +00:00
committed by Gerald (Jerry) Carter
parent eaaefa374c
commit 1f071b0609
8 changed files with 638 additions and 531 deletions

View File

@@ -56,19 +56,10 @@ function add_foreign(str, sid, desc, unixname)
dn: CN=${SID},CN=ForeignSecurityPrincipals,${BASEDN}
objectClass: top
objectClass: foreignSecurityPrincipal
cn: ${SID}
description: ${DESC}
instanceType: 4
whenCreated: ${LDAPTIME}
whenChanged: ${LDAPTIME}
unixName: ${UNIXNAME}
uSNCreated: 1
uSNChanged: 1
showInAdvancedViewOnly: TRUE
name: ${SID}
objectGUID: ${NEWGUID}
objectSid: ${SID}
objectCategory: CN=Foreign-Security-Principal,CN=Schema,CN=Configuration,${BASEDN}
unixName: ${UNIXNAME}
";
var sub = new Object();
sub.SID = sid;
@@ -212,7 +203,7 @@ function setup_file(template, fname, subobj)
/*
provision samba4 - caution, this wipes all existing data!
*/
function provision(subobj, message)
function provision(subobj, message, blank)
{
var data = "";
var lp = loadparm_init();
@@ -249,7 +240,11 @@ function provision(subobj, message)
message("Setting up sam.ldb templates\n");
setup_ldb("provision_templates.ldif", "sam.ldb", subobj, NULL, false);
message("Setting up sam.ldb data\n");
setup_ldb("provision.ldif", "sam.ldb", subobj, data, false);
setup_ldb("provision.ldif", "sam.ldb", subobj, NULL, false);
if (blank == false) {
message("Setting up sam.ldb users and groups\n");
setup_ldb("provision_users.ldif", "sam.ldb", subobj, data, false);
}
message("Setting up rootdse.ldb\n");
setup_ldb("rootdse.ldif", "rootdse.ldb", subobj);
message("Setting up secrets.ldb\n");