summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/adduserdrake
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/adduserdrake')
-rwxr-xr-xperl-install/standalone/adduserdrake18
1 files changed, 5 insertions, 13 deletions
diff --git a/perl-install/standalone/adduserdrake b/perl-install/standalone/adduserdrake
index d1ebe4eef..b449ef52b 100755
--- a/perl-install/standalone/adduserdrake
+++ b/perl-install/standalone/adduserdrake
@@ -6,28 +6,20 @@ use standalone; #- warning, standalone must be loaded very first, for 'expla
use common;
use interactive;
+use security::level;
+use authentication;
use any;
-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/system-auth") =~ /md5/;
-my $isShadow = cat_("/etc/pam.d/system-auth") =~ /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::write_passwd_user('', $_, $isMD5) foreach @$users;
-system("pwconv") if $isShadow;
-
-any::addUsers('', $users);
+any::add_users($users, authentication::get());
$in->exit(0) if $in;