svn commit: samba r15646 - branches/SAMBA_3_0/source/utils trunk/source/utils

idra at samba.org idra at samba.org
Tue May 16 17:40:28 GMT 2006


Author: idra
Date: 2006-05-16 17:40:28 +0000 (Tue, 16 May 2006)
New Revision: 15646

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15646

Log:

Implement an setdomainsid command as well


Modified:
   branches/SAMBA_3_0/source/utils/net.c
   branches/SAMBA_3_0/source/utils/net_help.c
   trunk/source/utils/net.c
   trunk/source/utils/net_help.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/net.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net.c	2006-05-16 17:04:56 UTC (rev 15645)
+++ branches/SAMBA_3_0/source/utils/net.c	2006-05-16 17:40:28 UTC (rev 15646)
@@ -596,6 +596,26 @@
 	return 0;
 }
 
+static int net_setdomainsid(int argc, const char **argv)
+{
+	DOM_SID sid;
+
+	if ( (argc != 1)
+	     || (strncmp(argv[0], "S-1-5-21-", strlen("S-1-5-21-")) != 0)
+	     || (!string_to_sid(&sid, argv[0]))
+	     || (sid.num_auths != 4)) {
+		d_printf("usage: net setdomainsid S-1-5-21-x-y-z\n");
+		return 1;
+	}
+
+	if (!secrets_store_domain_sid(lp_workgroup(), &sid)) {
+		DEBUG(0,("Can't store domain SID.\n"));
+		return 1;
+	}
+
+	return 0;
+}
+
 static int net_getdomainsid(int argc, const char **argv)
 {
 	DOM_SID domain_sid;
@@ -793,6 +813,7 @@
 	{"CACHE", net_cache},
 	{"GETLOCALSID", net_getlocalsid},
 	{"SETLOCALSID", net_setlocalsid},
+	{"SETDOMAINSID", net_setdomainsid},
 	{"GETDOMAINSID", net_getdomainsid},
 	{"MAXRID", net_maxrid},
 	{"IDMAP", net_idmap},

Modified: branches/SAMBA_3_0/source/utils/net_help.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_help.c	2006-05-16 17:04:56 UTC (rev 15645)
+++ branches/SAMBA_3_0/source/utils/net_help.c	2006-05-16 17:40:28 UTC (rev 15646)
@@ -61,7 +61,7 @@
 "Valid functions are:\n"\
 "  RPC RAP ADS FILE SHARE SESSION SERVER DOMAIN PRINTQ USER GROUP VALIDATE\n"\
 "  GROUPMEMBER ADMIN SERVICE PASSWORD TIME LOOKUP GETLOCALSID SETLOCALSID\n"\
-"  CHANGESCRETPW LOOKUP SAM\n");
+"  SETDOMAINSID CHANGESCRETPW LOOKUP SAM\n");
 	return -1;
 }
 
@@ -230,6 +230,7 @@
 		 "  net cache\t\tto operate on cache tdb file\n"\
 		 "  net getlocalsid [NAME]\tto get the SID for local name\n"\
 		 "  net setlocalsid SID\tto set the local domain SID\n"\
+		 "  net setdomainsid SID\tto set the domain SID on member servers\n"\
 		 "  net changesecretpw\tto change the machine password in the local secrets database only\n"\
 		 "                    \tthis requires the -f flag as a safety barrier\n"\
 		 "  net status\t\tShow server status\n"\

Modified: trunk/source/utils/net.c
===================================================================
--- trunk/source/utils/net.c	2006-05-16 17:04:56 UTC (rev 15645)
+++ trunk/source/utils/net.c	2006-05-16 17:40:28 UTC (rev 15646)
@@ -596,6 +596,26 @@
 	return 0;
 }
 
+static int net_setdomainsid(int argc, const char **argv)
+{
+	DOM_SID sid;
+
+	if ( (argc != 1)
+	     || (strncmp(argv[0], "S-1-5-21-", strlen("S-1-5-21-")) != 0)
+	     || (!string_to_sid(&sid, argv[0]))
+	     || (sid.num_auths != 4)) {
+		d_printf("usage: net setdomainsid S-1-5-21-x-y-z\n");
+		return 1;
+	}
+
+	if (!secrets_store_domain_sid(lp_workgroup(), &sid)) {
+		DEBUG(0,("Can't store domain SID.\n"));
+		return 1;
+	}
+
+	return 0;
+}
+
 static int net_getdomainsid(int argc, const char **argv)
 {
 	DOM_SID domain_sid;
@@ -793,6 +813,7 @@
 	{"CACHE", net_cache},
 	{"GETLOCALSID", net_getlocalsid},
 	{"SETLOCALSID", net_setlocalsid},
+	{"SETDOMAINSID", net_setdomainsid},
 	{"GETDOMAINSID", net_getdomainsid},
 	{"MAXRID", net_maxrid},
 	{"IDMAP", net_idmap},

Modified: trunk/source/utils/net_help.c
===================================================================
--- trunk/source/utils/net_help.c	2006-05-16 17:04:56 UTC (rev 15645)
+++ trunk/source/utils/net_help.c	2006-05-16 17:40:28 UTC (rev 15646)
@@ -61,7 +61,7 @@
 "Valid functions are:\n"\
 "  RPC RAP ADS FILE SHARE SESSION SERVER DOMAIN PRINTQ USER GROUP VALIDATE\n"\
 "  GROUPMEMBER ADMIN SERVICE PASSWORD TIME LOOKUP GETLOCALSID SETLOCALSID\n"\
-"  CHANGESCRETPW LOOKUP SAM\n");
+"  SETDOMAINSID CHANGESCRETPW LOOKUP SAM\n");
 	return -1;
 }
 
@@ -230,6 +230,7 @@
 		 "  net cache\t\tto operate on cache tdb file\n"\
 		 "  net getlocalsid [NAME]\tto get the SID for local name\n"\
 		 "  net setlocalsid SID\tto set the local domain SID\n"\
+		 "  net setdomainsid SID\tto set the domain SID on member servers\n"\
 		 "  net changesecretpw\tto change the machine password in the local secrets database only\n"\
 		 "                    \tthis requires the -f flag as a safety barrier\n"\
 		 "  net status\t\tShow server status\n"\



More information about the samba-cvs mailing list