日期:2014-05-16  浏览次数:20678 次

Linux下Subversion自助修改密码

前阵儿公司内部配置好了subverion来做版代码管理,为了便于个人修改密码,所以网上找了很多关于自助修改密码的资料,结果发现很多都是针对windows版的,即使有针对linux版的,但还是有一些问题,不能直接拿来用,说明文字也比少。

下面是我自己用的配置文件,99%来源于网络,只有很少一点点是我根据自己的实际情况修改的。希望对大家有用。

需要俩个文件:
svnpass.ini


svnpass.cgi

svnpass.ini中的内容如下:

[path]
authuserfile=/opt/svn/svnuser????
logfile=/opt/svn/changepwd.log
[setup]
pwdminlen=2
[html]
title=SVN用户密码自助修改
description=SVN用户密码自助修改
yourname=用户名
oldpwd=旧密码
newpwd1=新密码
newpwd2=确认新密码
btn_change=修 改
btn_reset=重 置

changepwdok=成功修改密码
changepwdfailed=修改密码失败
servererror=服务器错误
passmustgreater=新密码位数必须大于
twopassnotmatched=两密码不一致
entername=请输入用户名
enterpwd=密码未输入
errorpwd=你的密码不正确
back=返回

说明:
关键是红颜色是三行内容:
authuserfile=/opt/svn/svnuser?:subversion用户与密码文件存放位置
logfile=/opt/svn/changepwd.log?:修改密码的日志文件存放位置
pwdminlen=2?:密码的最小长度
以上三项,根据实际情况修改即可。
其他内容保持不变即可。

svnpass.cgi文件内容如下:

#!/usr/bin/perl -w

use strict;
use CGI;
my $time????????= localtime;
my $remote_id???= $ENV{REMOTE_HOST} || $ENV{REMOTE_ADDR};
my $admin_email = $ENV{SERVER_ADMIN};

my $cgi = new CGI;
my $pwd_not_alldiginal = "密码不能全为数字";
my $pwd_not_allchar = "密码不能全为字符";
my $user_not_exists ="该用户不存在";
my $file_not_found ="文件不存在,请联系管理员";

my $authuserfile;
my $logfile;
my $pwdminlen;
my $title;
my $description;
my $yourname;
my $oldpwd;
my $newpwd1;
my $newpwd2;
my $btn_change;
my $btn_reset;

my $changepwdok;
my $changepwdfailed;