summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2003-08-06 09:24:11 +0000
committerVolker Lendecke <vlendec@samba.org>2003-08-06 09:24:11 +0000
commit923cb1b7315e4dfd9fe7fff5183635702083c023 (patch)
tree1521b3db207aa7221e43b91f6f0a76c462e95568 /source3
parent74be920b0ee236d577cb357fcb34dd462300444d (diff)
downloadsamba-923cb1b7315e4dfd9fe7fff5183635702083c023.tar.gz
samba-923cb1b7315e4dfd9fe7fff5183635702083c023.tar.bz2
samba-923cb1b7315e4dfd9fe7fff5183635702083c023.zip
When doing 'net groupmap add', default to algorithmic mapping for the rid.
Volker (This used to be commit 7ce94d39add6e056e3b1deea21bf0438ba61e4cc)
Diffstat (limited to 'source3')
-rw-r--r--source3/utils/net_groupmap.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/source3/utils/net_groupmap.c b/source3/utils/net_groupmap.c
index 8831839e4e..a50628a7c3 100644
--- a/source3/utils/net_groupmap.c
+++ b/source3/utils/net_groupmap.c
@@ -252,11 +252,21 @@ static int net_groupmap_add(int argc, const char **argv)
}
}
- if ( !unixgrp[0] || (!rid && !string_sid[0]) ) {
+ if ( !unixgrp[0] ) {
d_printf("Usage: net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]\n");
return -1;
}
+ if ( (gid = nametogid(unixgrp)) == (gid_t)-1 ) {
+ d_printf("Can't lookup UNIX group %s\n", ntgroup);
+ return -1;
+ }
+
+ if ( (rid == 0) || (string_sid[0] == '\0') ) {
+ d_printf("No rid or sid specified, choosing algorithmic mapping\n");
+ rid = pdb_gid_to_group_rid(gid);
+ }
+
/* append the rid to our own domain/machine SID if we don't have a full SID */
if ( !string_sid[0] ) {
sid_copy(&sid, get_global_sam_sid());
@@ -267,11 +277,6 @@ static int net_groupmap_add(int argc, const char **argv)
if (ntcomment[0])
fstrcpy(ntcomment, "Local Unix group");
- if ( (gid = nametogid(unixgrp)) == (gid_t)-1 ) {
- d_printf("Can't lookup UNIX group %s\n", ntgroup);
- return -1;
- }
-
if ( !ntgroup[0] )
fstrcpy( ntgroup, unixgrp );