Added new option -r, --system for system accounts in useradd, groupadd,

and newusers.
This commit is contained in:
nekral-guest
2008-02-19 21:01:38 +00:00
parent ed52b88b92
commit 18c914f086
7 changed files with 68 additions and 12 deletions

View File

@@ -24,11 +24,15 @@ int find_new_uid (int sys_user, uid_t *uid, uid_t const *preferred_uid)
uid_t uid_min, uid_max, user_id;
assert (uid != NULL);
/* TODO: add support for system users */
assert (sys_user == 0);
if (sys_user == 0) {
uid_min = getdef_unum ("UID_MIN", 1000);
uid_max = getdef_unum ("UID_MAX", 60000);
} else {
uid_min = getdef_unum ("SYS_UID_MIN", 1);
uid_max = getdef_unum ("UID_MIN", 1000) - 1;
uid_max = getdef_unum ("SYS_UID_MAX", uid_max);
}
if ( (NULL != preferred_uid)
&& (*preferred_uid >= uid_min)
@@ -102,11 +106,15 @@ int find_new_gid (int sys_group, gid_t *gid, gid_t const *preferred_gid)
gid_t gid_min, gid_max, group_id;
assert (gid != NULL);
/* TODO: add support for system groups */
assert (sys_group == 0);
if (sys_group == 0) {
gid_min = getdef_unum ("GID_MIN", 1000);
gid_max = getdef_unum ("GID_MAX", 60000);
} else {
gid_min = getdef_unum ("SYS_GID_MIN", 1);
gid_max = getdef_unum ("GID_MIN", 1000) - 1;
gid_max = getdef_unum ("SYS_GID_MAX", gid_max);
}
if ( (NULL != preferred_gid)
&& (*preferred_gid >= gid_min)