mirror of
https://github.com/sheumann/hush.git
synced 2024-12-22 14:30:31 +00:00
adduser: optional support for long options. +110 bytes.
closes bug 2134.
This commit is contained in:
parent
0e6f661e23
commit
753f42ab8d
@ -88,6 +88,13 @@ config ADDUSER
|
|||||||
help
|
help
|
||||||
Utility for creating a new user account.
|
Utility for creating a new user account.
|
||||||
|
|
||||||
|
config FEATURE_ADDUSER_LONG_OPTIONS
|
||||||
|
bool "Enable long options"
|
||||||
|
default n
|
||||||
|
depends on ADDUSER && GETOPT_LONG
|
||||||
|
help
|
||||||
|
Support long options for the adduser applet.
|
||||||
|
|
||||||
config DELUSER
|
config DELUSER
|
||||||
bool "deluser"
|
bool "deluser"
|
||||||
default n
|
default n
|
||||||
|
@ -66,6 +66,19 @@ static void passwd_wrapper(const char *login)
|
|||||||
bb_error_msg_and_die("cannot execute %s, you must set password manually", prog);
|
bb_error_msg_and_die("cannot execute %s, you must set password manually", prog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS
|
||||||
|
static const char adduser_longopts[] ALIGN1 =
|
||||||
|
"home\0" Required_argument "h"
|
||||||
|
"gecos\0" Required_argument "g"
|
||||||
|
"shell\0" Required_argument "s"
|
||||||
|
"ingroup\0" Required_argument "G"
|
||||||
|
"disabled-password\0" No_argument "D"
|
||||||
|
"empty-password\0" No_argument "D"
|
||||||
|
"system\0" No_argument "S"
|
||||||
|
"no-create-home\0" No_argument "H"
|
||||||
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* adduser will take a login_name as its first parameter.
|
* adduser will take a login_name as its first parameter.
|
||||||
* home, shell, gecos:
|
* home, shell, gecos:
|
||||||
@ -78,6 +91,10 @@ int adduser_main(int argc, char **argv)
|
|||||||
const char *usegroup = NULL;
|
const char *usegroup = NULL;
|
||||||
FILE *file;
|
FILE *file;
|
||||||
|
|
||||||
|
#if ENABLE_FEATURE_ADDUSER_LONG_OPTIONS
|
||||||
|
applet_long_options = adduser_longopts;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* got root? */
|
/* got root? */
|
||||||
if (geteuid()) {
|
if (geteuid()) {
|
||||||
bb_error_msg_and_die(bb_msg_perm_denied_are_you_root);
|
bb_error_msg_and_die(bb_msg_perm_denied_are_you_root);
|
||||||
|
Loading…
Reference in New Issue
Block a user