mirror of
https://github.com/webmin/webmin.git
synced 2025-07-23 00:30:33 +00:00
60 lines
1.3 KiB
Perl
Executable File
60 lines
1.3 KiB
Perl
Executable File
|
|
do 'htpasswd-file-lib.pl';
|
|
|
|
sub useradmin_create_user
|
|
{
|
|
return if (!$config{'file'});
|
|
local $users = &list_users();
|
|
local ($clash) = grep { $_->{'user'} eq $_[0]->{'user'} } @$users;
|
|
return if ($clash);
|
|
local $user = { 'user' => $_[0]->{'user'},
|
|
'enabled' => 1 };
|
|
if ($_[0]->{'passmode'} == 0) {
|
|
$user->{'pass'} = "";
|
|
}
|
|
elsif ($_[0]->{'passmode'} == 1) {
|
|
$user->{'pass'} = "*LK*";
|
|
}
|
|
elsif ($_[0]->{'passmode'} == 2) {
|
|
$user->{'pass'} = $_[0]->{'pass'};
|
|
}
|
|
else {
|
|
$user->{'pass'} = &encrypt_password($_[0]->{'plainpass'},
|
|
undef, $config{'md5'});
|
|
}
|
|
&create_user($user);
|
|
}
|
|
|
|
sub useradmin_modify_user
|
|
{
|
|
return if (!$config{'file'});
|
|
local $users = &list_users();
|
|
local ($user) = grep { $_->{'user'} eq $_[0]->{'olduser'} } @$users;
|
|
return if (!$user);
|
|
$user->{'user'} = $_[0]->{'user'};
|
|
if ($_[0]->{'passmode'} == 0) {
|
|
$user->{'pass'} = "";
|
|
}
|
|
elsif ($_[0]->{'passmode'} == 1) {
|
|
$user->{'pass'} = "*LK*";
|
|
}
|
|
elsif ($_[0]->{'passmode'} == 2) {
|
|
$user->{'pass'} = $_[0]->{'pass'};
|
|
}
|
|
elsif ($_[0]->{'passmode'} == 3) {
|
|
$user->{'pass'} = &encrypt_password($_[0]->{'plainpass'},
|
|
undef, $config{'md5'});
|
|
}
|
|
&modify_user($user);
|
|
}
|
|
|
|
sub useradmin_delete_user
|
|
{
|
|
return if (!$config{'file'});
|
|
local $users = &list_users();
|
|
local ($user) = grep { $_->{'user'} eq $_[0]->{'user'} } @$users;
|
|
return if (!$user);
|
|
&delete_user($user);
|
|
}
|
|
|