Linux 系统通过WEB修改svn 帐号密码
增加虚拟目录
vi /etc/httpd/conf/httpd.conf 文件最后添加
Alias /svnadmin "/var/www/html/svnadmin/"
<Directory "/var/www/html/svnadmin">
Require valid-user
AuthType Basic
AuthName "SVN user password modify"
AuthUserFile /etc/httpd/svn/htpasswds
</Directory>
我的svn帐号信息存在/etc/httpd/svn/htpasswds ,apache 能够读写此目录
vi /var/www/html/svnadmin/index.php
将以下内容放插入index.php
<?
/*
Alias /svnmodify "/var/www/html/svnadmin/"
<Directory "/var/www/html/svnadmin/">
Require valid-user
AuthType Basic
AuthName "Subversion Tools"
AuthUserFile /etc/httpd/svn/htpasswds
</Directory>
*/
?>
<?
$username = $_SERVER["PHP_AUTH_USER"];
$authed_pass = $_SERVER["PHP_AUTH_PW"];
$input_oldpass = (isset($_REQUEST["oldpass"]) ? $_REQUEST["oldpass"] : "");
$newpass = (isset($_REQUEST["newpass"]) ? $_REQUEST["newpass"] : "");
$repeatpass = (isset($_REQUEST["repeatpass"]) ? $_REQUEST["repeatpass"] : "");
$action = (isset($_REQUEST["action"]) ? $_REQUEST["action"] : "");
if($action!="modify"){
$action = "view";
}
else if($authed_pass!=$input_oldpass){
$action = "oldpasswrong";
}
else if(empty($newpass)){
$action = "passempty";
}
else if($newpass!=$repeatpass){
$action = "passnotsame";
}
else{
$action = "modify";
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Reset SVN User Password</title>
</head>
<body>
<?
//action=view 显示普通的输入信息
if ($action == "view"){
?>
<script language = "javaScript">
<!--
function loginIn(myform)
{
var newpass=myform.newpass.value;
var repeatpass=myform.repeatpass.value;
if(newpass==""){
alert("Please enter your new password!");
return false;
}
if(repeatpass==""){
alert("Please re-enter your new password!");
return false;
}
if(newpass!=repeatpass){
alert("New passwords do not match!");
return false;
}
return true;
}
//-->
</script>
<style type="text/css">
<!--
table {
border: 1px solid #CCCCCC;
background-color: #f9f9f9;
text-align: center;
vertical-align: middle;
font-size: 9pt;
line-height: 15px;
}
th {
font-weight: bold;
line-height: 20px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-bottom-style: solid;
color: #333333;
background-color: f6f6f6;
}
input{
height: 18px;
}
.button {
height: 20px;
}
-->
</style>
<br><br><br>
<form method="post">
<input type="hidden" name="action" value="modify"/>
<table width="220" cellpadding="3" cellspacing="8" align="center">
<tr>
<th colspan=2>Reset SVN User Password</th>
</tr>
<tr>
<td align="left" width="60">UserName:</td>
<td align="left"> <?=$username?></td>
</tr>
<tr>
<td align="left" width="60">Current password:</td>
<td><input type=password size=15 name=oldpass></td>
</tr>
<tr>
<td align="left" width="60">New password:</td>
<td><input type=password size=15 name=newpass></td>
</tr>
<tr>
<td align="left" width="60">Confirm new password:</td>
<td><input type=password size=15 name=repeatpass></td>
</tr>
<tr>
<td colspan=2>
<input onclick="return loginIn(this.form)" class="button" type=submit value="Save">
<input name="reset" type=reset class="button" value="Cancel">
</td>
</tr>
</table>
</form>
<?
}
else if($action == "oldpasswrong"){
$msg="The old password you gave is incorrect.";
}
else if($action == "passempty"){
$msg="Please input new password";
}
else if($action == "passnotsame"){
$msg="New passwords do not match.";
}
else{
$passwdfile="/etc/httpd/svn/htpasswds";
$command='"/usr/bin/htpasswd" -b '.$passwdfile." ".$username." ".$newpass;
system($command, $result);
if($result==0){
$msg="User [".$username."]Your new password has been saved,Please re-login.";
}
else{
$msg="User [".$username."]Password change failures,Error".$result.",Please contact qidw@uit.com.cn";
}
}
if (isset($msg)){
?>
<script language="javaScript">
<!--
alert("<?=$msg?>");
window.location.href="<?=$_SERVER["PHP_SELF"]?>"
//-->
</script>
<?
}
?>
</body>
</html>
分享到:
相关推荐
Linux 安装 SVN 并实现本地同步服务器 本文将指导读者在 Linux 环境下安装 SVN(Subversion),并使用钩子脚本实现本地提交后自动同步代码文件到服务器的网站目录下。 安装 SVN 首先,使用 yum 命令安装 SVN: `...
"Linux 服务器下安装 SVN 并添加 SVN 项目,自动更新项目文件到 web 目录" 一、SVN 简介 SVN(Subversion)是一款开源的版本控制系统,能够帮助开发者跟踪文件的变化,实现多人协作开发。SVN 服务器可以安装在 ...
通过以上步骤,您已经成功地在Linux环境中配置好了SVN和Apache HTTP Server,现在可以通过SVN客户端或Web浏览器访问版本控制系统。这种配置方式不仅便于代码管理,同时也方便团队协作。希望本指南对您的项目有所帮助...
当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录 具体操作: 一、使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录 cd /home/svn/hooks vi post-commit #...
完成以上步骤后,启动Apache服务,就可以通过Web浏览器或SVN客户端来访问和管理你的Subversion仓库了。确保防火墙设置允许Apache监听的端口(默认为80),如果更改了端口,记得在URL中包含相应的端口号。 注意,...
- **跨平台性:** 支持多种操作系统,如Windows、Linux和macOS。 - **开源:** 开放源代码,免费且社区活跃。 - **版本历史追踪:** 记录每一次文件的改动,方便回溯历史版本。 - **通用性:** 可以管理各种类型的...
本文将深入探讨如何在Linux环境中利用`svnadmin`工具与Web页面结合,实现对SVN的功能,包括账号创建、权限关联以及项目创建。 首先,`svnadmin`是Subversion的核心命令行工具之一,用于管理仓库。在`svnadmin-3.0.5...
通过以上步骤,我们成功地搭建了一个基于 Jenkins、SonarQube、Maven、SVN 和 Tomcat 的集成部署环境。这不仅有助于自动化软件构建和测试过程,还能够提升代码质量,并实现快速、稳定的软件发布。
- **用户与权限管理**:Linux 是一个多用户系统,每个用户都有自己的账号,并且可以通过 `sudo` 或 `su` 命令获得管理员权限来执行某些任务。文件和目录的权限由三个部分组成:所有者的权限、所属组的权限和其他用户...
Linux配置涉及许多方面,这里主要讨论的是在Linux系统上安装和配置Subversion(SVN)服务器的过程,以及如何使用TortoiseSVN客户端在Windows环境下进行版本控制。Subversion是一种集中式的版本控制系统,用于管理...
- **稳定安全的Linux平台:**该系统采用了成熟的32位Linux系统作为底层平台,并通过目录锁定、用户锁定以及对系统调用的限制等手段来保障系统的安全性,防止恶意代码可能造成的损害。 - **负载均衡支持:**HUSTOJ...
1. 操作系统:Mantis可以在多种操作系统上运行,如Windows、Linux、macOS等。 2. Web服务器:Apache或Nginx,两者都支持PHP模块。 3. PHP环境:PHP版本至少为5.2.4,推荐使用更高版本,以获取更好的安全性和性能。 4...
1.1《黑客攻防实战——web 漏洞挖掘与利用》图书 1.2 安天实战课题研究 2017 年第二期内网渗透技术题目 1.3 关于安天 365 线下和线下交流 1.4 已出版图书 第 2 部分技术研究文章 2.1 最新勒索软件 WannaCrypt 病毒...