diff options
Diffstat (limited to 'server/tools/sss_usermod.c')
-rw-r--r-- | server/tools/sss_usermod.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/server/tools/sss_usermod.c b/server/tools/sss_usermod.c index 02ed74e46..5be1dfb64 100644 --- a/server/tools/sss_usermod.c +++ b/server/tools/sss_usermod.c @@ -165,7 +165,7 @@ int main(int argc, const char **argv) /* if the domain was not given as part of FQDN, default to local domain */ ret = parse_name_domain(tctx, pc_username); if (ret != EOK) { - ERROR("Cannot get domain information\n"); + ERROR("Invalid domain specified in FQDN\n"); ret = EXIT_FAILURE; goto fini; } @@ -183,6 +183,13 @@ int main(int argc, const char **argv) ERROR("Internal error while parsing parameters\n"); goto fini; } + + ret = parse_group_name_domain(tctx, tctx->octx->addgroups); + if (ret != EOK) { + DEBUG(1, ("Cannot parse FQDN groups to add the user to\n")); + ERROR("Groups must be in the same domain as user\n"); + goto fini; + } } if (rmgroups) { @@ -192,6 +199,13 @@ int main(int argc, const char **argv) ERROR("Internal error while parsing parameters\n"); goto fini; } + + ret = parse_group_name_domain(tctx, tctx->octx->rmgroups); + if (ret != EOK) { + DEBUG(1, ("Cannot parse FQDN groups to remove the user from\n")); + ERROR("Groups must be in the same domain as user\n"); + goto fini; + } } tctx->octx->gecos = pc_gecos; |