diff options
Diffstat (limited to 'perl-install/standalone/adduserdrake')
| -rwxr-xr-x | perl-install/standalone/adduserdrake | 28 |
1 files changed, 5 insertions, 23 deletions
diff --git a/perl-install/standalone/adduserdrake b/perl-install/standalone/adduserdrake index c176f5936..b449ef52b 100755 --- a/perl-install/standalone/adduserdrake +++ b/perl-install/standalone/adduserdrake @@ -6,38 +6,20 @@ use standalone; #- warning, standalone must be loaded very first, for 'expla use common; use interactive; +use security::level; +use authentication; use any; -local $_ = join '', @ARGV; - -/-h/ and die "usage: adduserdrake [--beginner] [--expert] [<users...>]\n"; - -$::beginner = /-beginner/; -$::expert = /-expert/; - -my @etc_pass_fields = qw(name pw uid gid realname home shell); -my @shells = grep { -x $_ } map { "/bin/$_" } qw(bash tcsh zsh ash ksh); -my $isMD5 = cat_("/etc/pam.d/passwd") =~ /md5/; -my $isShadow = cat_("/etc/pam.d/passwd") =~ /shadow/; - - my $users = []; my $in; if (my @l = grep { ! /^-/ } @ARGV) { $users = [ map { { name => $_, realname => $_ } } @l ]; } else { - $in = 'interactive'->vnew('su', 'user'); - any::ask_users('', $in, $users, $ENV{SECURE_LEVEL}); + $in = 'interactive'->vnew('su'); + any::ask_user($in, $users, security::level::get(), needauser => 1); } -system("adduser", $_->{name}) foreach @$users; -any::addUsers('', $users); - -any::write_passwd_user('', $_, $isMD5) foreach @$users; -system("pwconv") if $isShadow; - -#$in->do_pkgs->install("autologin") if $o->{autologin}; -#any::set_autologin('', $o->{autologin}, $o->{desktop}); +any::add_users($users, authentication::get()); $in->exit(0) if $in; |
