summaryrefslogtreecommitdiffstats
path: root/server/tools/sss_useradd.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2009-09-10 22:34:56 +0200
committerSimo Sorce <ssorce@redhat.com>2009-09-23 07:33:45 -0400
commit716a203f171fda4bcb3e2bf9f2564b331ac1f85a (patch)
tree75514074d7d9e850ff5cd74f625b0e2930c6b367 /server/tools/sss_useradd.c
parent87b8670b2749d02ffdc6c06506ac692b09db5be2 (diff)
downloadsssd-716a203f171fda4bcb3e2bf9f2564b331ac1f85a.tar.gz
sssd-716a203f171fda4bcb3e2bf9f2564b331ac1f85a.tar.xz
sssd-716a203f171fda4bcb3e2bf9f2564b331ac1f85a.zip
Allow entering parent groups as FQDN
Allow entering parent groups for groupadd,useradd,usermod as FQDN. Since members and parents must be from the same domain, error out if we can't determine the domain of member. Fixes: #121
Diffstat (limited to 'server/tools/sss_useradd.c')
-rw-r--r--server/tools/sss_useradd.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/server/tools/sss_useradd.c b/server/tools/sss_useradd.c
index becf205aa..61034bef6 100644
--- a/server/tools/sss_useradd.c
+++ b/server/tools/sss_useradd.c
@@ -221,7 +221,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;
}
@@ -233,6 +233,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;
+ }
}
/* Same as shadow-utils useradd, -g can specify gid or group name */