diff options
author | Volker Lendecke <vlendec@samba.org> | 2003-08-06 09:24:11 +0000 |
---|---|---|
committer | Volker Lendecke <vlendec@samba.org> | 2003-08-06 09:24:11 +0000 |
commit | 923cb1b7315e4dfd9fe7fff5183635702083c023 (patch) | |
tree | 1521b3db207aa7221e43b91f6f0a76c462e95568 /source3 | |
parent | 74be920b0ee236d577cb357fcb34dd462300444d (diff) | |
download | samba-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.c | 17 |
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 ); |