“Gerrit网页更改登陆密码”的版本间的差异

来自个人维基
跳转至: 导航搜索
(以“由于 gerrit登陆使用鉴权使用的是 apache的 htpassword认证方式,因此添加用户、更改密码都只能在命令行下、使用 htpassword命令进...”为内容创建页面)
 
 
(未显示1个用户的4个中间版本)
第5行: 第5行:
 
现在这里就是实现在网页端自助注册用户、更改密码。
 
现在这里就是实现在网页端自助注册用户、更改密码。
  
1、安装 php
+
== 一、安装配置网站 ==
 +
 
 +
=== 1、安装 php ===
 
  $ sudo apt-get install php5
 
  $ sudo apt-get install php5
  
2、增加apache监听端口
+
===2、增加apache监听端口===
  
 
因为 apache 80端口已经用作 gerrit 8080端口的反向代理,因此为使其他正常的 php能正常运行,需要增加 apache监听端口
 
因为 apache 80端口已经用作 gerrit 8080端口的反向代理,因此为使其他正常的 php能正常运行,需要增加 apache监听端口
第19行: 第21行:
 
</pre>
 
</pre>
  
3、更改 /etc/apache2/sites-enabled/下的 virtualhost,使 gerrit的反向代理仅限于 *:80端口,而 *.8010则使用普通的解析流程
+
===3、同步更改vitualhost的端口===
  
4、安装 htpaswd
+
更改 /etc/apache2/sites-enabled/下的 virtualhost,使 gerrit的反向代理仅限于 *:80端口,而 *.8010则使用普通的解析流程
 +
 
 +
===4、安装 htpaswd===
 +
 
 +
== 二、配置权限 ==
 +
 
 +
===1、增加 www-data到 gerrit所在的用户组===
 +
 
 +
通过 ls -l gerrit/etc/passwords可以看出此文件的权限为 664 -rw-rw-r--,而 apache所在的用户为 www-data,为使能够写这个文件,必须把 www-data加入到 gerrit/etc/passwords所属用户的用户组中:
 +
 
 +
$ sudo usermod -G xxx www-data
 +
 
 +
*更改完毕注意重启 apache
 +
 
 +
这里通过登陆 http://gerrit.xxx.org:8010/htpaswd/ 已经可以正常操作了
 +
 
 +
===2、安全增强===
 +
 
 +
这里理论上已经可以正常工作了,但现在有一个致命的安全隐患,那就是任何人无需通过身份确认,就可以更改任意其他用户的密码。
 +
 
 +
这里必须要更改,由于没有去研究 htpassword是如何生成密码的(同一用户设置同一密码,每一次加密后的结果也不一样),这里打算用最简单的方法进行,那就是使用和 gerrit同一个 gerrit/etc/passwords进行鉴权,只有通过了才能设置自己的密码。
 +
 
 +
更改 site-enabled/下 8010的 virtualhost,增加鉴权:
 +
<pre>
 +
  <Location /htpaswd/md/>
 +
    AuthType Basic
 +
    AuthName "Gerrit Code Review"
 +
    AuthBasicProvider file
 +
    AuthUserFile /home/admin/gerrit/etc/passwords
 +
    Require valid-user
 +
  </Location>
 +
</pre>

2015年4月6日 (一) 09:26的最后版本

由于 gerrit登陆使用鉴权使用的是 apache的 htpassword认证方式,因此添加用户、更改密码都只能在命令行下、使用 htpassword命令进行。

这使得非常不方便。

现在这里就是实现在网页端自助注册用户、更改密码。

目录

一、安装配置网站

1、安装 php

$ sudo apt-get install php5

2、增加apache监听端口

因为 apache 80端口已经用作 gerrit 8080端口的反向代理,因此为使其他正常的 php能正常运行,需要增加 apache监听端口

更改 /etc/apache2/ports.conf,增加 8010端口:

     NameVirtualHost *:80
     Listen 80
+    Listen 8010

3、同步更改vitualhost的端口

更改 /etc/apache2/sites-enabled/下的 virtualhost,使 gerrit的反向代理仅限于 *:80端口,而 *.8010则使用普通的解析流程

4、安装 htpaswd

二、配置权限

1、增加 www-data到 gerrit所在的用户组

通过 ls -l gerrit/etc/passwords可以看出此文件的权限为 664 -rw-rw-r--,而 apache所在的用户为 www-data,为使能够写这个文件,必须把 www-data加入到 gerrit/etc/passwords所属用户的用户组中:

$ sudo usermod -G xxx www-data
  • 更改完毕注意重启 apache

这里通过登陆 http://gerrit.xxx.org:8010/htpaswd/ 已经可以正常操作了

2、安全增强

这里理论上已经可以正常工作了,但现在有一个致命的安全隐患,那就是任何人无需通过身份确认,就可以更改任意其他用户的密码。

这里必须要更改,由于没有去研究 htpassword是如何生成密码的(同一用户设置同一密码,每一次加密后的结果也不一样),这里打算用最简单的方法进行,那就是使用和 gerrit同一个 gerrit/etc/passwords进行鉴权,只有通过了才能设置自己的密码。

更改 site-enabled/下 8010的 virtualhost,增加鉴权:

  <Location /htpaswd/md/>
     AuthType Basic
     AuthName "Gerrit Code Review"
     AuthBasicProvider file
     AuthUserFile /home/admin/gerrit/etc/passwords
     Require valid-user
  </Location>