aboutsummaryrefslogtreecommitdiff
path: root/loginutils/adduser.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-05-14 00:23:34 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-05-14 00:23:34 +0200
commit1b0a93edb93a93c30d7fbb35571f109ddf8a67a2 (patch)
tree73326fed28844ea23c13d4bbfe7abdd7b64bd270 /loginutils/adduser.c
parent810b7161dcace56709038bf0cad93c925669c3b8 (diff)
downloadbusybox-w32-1b0a93edb93a93c30d7fbb35571f109ddf8a67a2.tar.gz
busybox-w32-1b0a93edb93a93c30d7fbb35571f109ddf8a67a2.tar.bz2
busybox-w32-1b0a93edb93a93c30d7fbb35571f109ddf8a67a2.zip
adduser/addgroup: make system id range configurable.
By Tito (farmatito AT tiscali.it). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'loginutils/adduser.c')
-rw-r--r--loginutils/adduser.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/loginutils/adduser.c b/loginutils/adduser.c
index a399d9e4c..00232375b 100644
--- a/loginutils/adduser.c
+++ b/loginutils/adduser.c
@@ -9,6 +9,10 @@
9 */ 9 */
10#include "libbb.h" 10#include "libbb.h"
11 11
12#if CONFIG_LAST_SYSTEM_ID < CONFIG_FIRST_SYSTEM_ID
13#error Bad LAST_SYSTEM_ID or FIRST_SYSTEM_ID in .config
14#endif
15
12/* #define OPT_HOME (1 << 0) */ /* unused */ 16/* #define OPT_HOME (1 << 0) */ /* unused */
13/* #define OPT_GECOS (1 << 1) */ /* unused */ 17/* #define OPT_GECOS (1 << 1) */ /* unused */
14#define OPT_SHELL (1 << 2) 18#define OPT_SHELL (1 << 2)
@@ -32,11 +36,11 @@ static void passwd_study(struct passwd *p)
32 36
33 if (!(option_mask32 & OPT_UID)) { 37 if (!(option_mask32 & OPT_UID)) {
34 if (option_mask32 & OPT_SYSTEM_ACCOUNT) { 38 if (option_mask32 & OPT_SYSTEM_ACCOUNT) {
35 p->pw_uid = 100; /* FIRST_SYSTEM_UID */ 39 p->pw_uid = CONFIG_FIRST_SYSTEM_ID;
36 max = 999; /* LAST_SYSTEM_UID */ 40 max = CONFIG_LAST_SYSTEM_ID;
37 } else { 41 } else {
38 p->pw_uid = 1000; /* FIRST_UID */ 42 p->pw_uid = CONFIG_LAST_SYSTEM_ID + 1;
39 max = 64999; /* LAST_UID */ 43 max = 64999;
40 } 44 }
41 } 45 }
42 /* check for a free uid (and maybe gid) */ 46 /* check for a free uid (and maybe gid) */