From 5a536022ea127c8b41ee634d978a1af9c02c47c4 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Sat, 29 Aug 2026 20:17:23 -0700 Subject: [PATCH] Fix sending of forgot password link to non-root users https://github.com/webmin/webmin/issues/2826 --- acl/forgot_form.cgi | 13 +++++++++---- acl/forgot_send.cgi | 1 + acl/lang/en | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/acl/forgot_form.cgi b/acl/forgot_form.cgi index 93a014050..2c6dc5e4b 100755 --- a/acl/forgot_form.cgi +++ b/acl/forgot_form.cgi @@ -21,10 +21,15 @@ print &ui_form_start("forgot_send.cgi", "post"); print &ui_hidden("user_acc", $u->{'name'}); print &ui_table_start($text{'forgot_header'}, undef, 2); -print &ui_table_row($text{'forgot_user'}, - $u->{'name'} eq "root" - ? &ui_textbox("user", $u->{'name'}, 12) - : "".$u->{'name'}.""); +if ($u->{'name'} eq "root") { + print &ui_table_row($text{'forgot_sudouser'}, + &ui_textbox("user", $u->{'name'}, 12)); + } +else { + print &ui_table_row($text{'forgot_user'}, + "".$u->{'name'}.""); + print &ui_hidden("user", $u->{'name'}); + } print &ui_table_row($text{'forgot_email'}, &ui_opt_textbox("email", $u->{'email'}, 60, diff --git a/acl/forgot_send.cgi b/acl/forgot_send.cgi index d9cb48442..4448b7cfe 100755 --- a/acl/forgot_send.cgi +++ b/acl/forgot_send.cgi @@ -19,6 +19,7 @@ $in{'email_def'} || $in{'email'} =~ /^\S+\@\S+$/ || &error($text{'forgot_eemail'}); my $unixuser; if ($in{'user'} ne $in{'user_acc'}) { + # Find the sudo-capable user whose password is being reset &foreign_require("useradmin"); my ($uinfo) = grep { $_->{'user'} eq $in{'user'} } &useradmin::list_users(); diff --git a/acl/lang/en b/acl/lang/en index 7cf93c791..d75b8dab3 100644 --- a/acl/lang/en +++ b/acl/lang/en @@ -532,5 +532,6 @@ forgot_link=The link below can be used to reset the Webmin password for $1 for t forgot_enosudo=Sudo is not available on this system! forgot_ecansudo=The user entered does not have sudo permissions forgot_eunix=The sudo-capable user entered does not exist! +forgot_sudouser=Reset password for sudo-capable user __norefs=1