I use a Perl script. It runs in a ScriptAlias location that requires
authentication,
so I know who is calling the script. It then uses the Apache htpasswd
utility
to change the password with the command:
/usr/local/apache2/bin/htpasswd -bm /home/svn/users $username $newpasswd 2
/home/svn/users is my password file. Passwords use MD5 encryption.
Here is the entire script. I am new to Perl, so I would not be surprised
if people here find flaws or suggest improvements to it:
#!/usr/bin/perl -w
use strict;
use CGI qw(:standard);
print header;
print "<html><head>";
print "<title>Change password</title>";
print "</head><body>";
print "<FORM action=chpasswd.cgi method=GET>";
print "<table><tr><td>New password: </td>";
print "<td><input name=newpasswd type=password></td></tr>";
print "<tr><td>Confirm:</td>";
print "<td><input name=confirmpasswd type=password></td></tr>";
print "<tr><td></td><td align=center><input type=submit value='Change
password'></td></tr></table>";
print "</FORM>";
my $username=$ENV{REMOTE_USER};
my $newpasswd = param('newpasswd');
if ($newpasswd ne undef) {
my $confirmpasswd = param('confirmpasswd');
if ($newpasswd eq $confirmpasswd) {
print "<pre>";
system ("/usr/local/apache2/bin/htpasswd -bm /home/svn/users
$username $newpasswd 2> /home/svn/result && cat /home/svn/result");
print "</pre>";
}
else { print "<p>Confirmation doesn't match password. Try again.</p>"; }
}
else {print "<br>";}
print "<p><a href=http://172.20.120.102/>Return</a></p>";
print "</body></html>\n";
Calvin wrote:
>Is there anyway to do this?
>I am using Apache, auth_svn_mod.
>
>Thanks,
>
>Calvin
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: users-help@subversion.tigris.org
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Jul 21 02:45:10 2005