结合对docker搭建的hg server进行验证,用户认证其实很简单。请先参考《Docker实践2:用Docker搭建hg-server 》对docker搭建的hg server有个了解。对于我们自己用apache+hgweb搭建的server也适用,不过我没有亲自验证。
将容器上的/var/hg 挂到主机上的/hg-repos,里面的两个配置文件hgusers和 hgweb.config可以在主机上修改,启动的命令如下:
sudo docker run -idt -p 80:80 -v /home/linc/hg-repos:/var/hg amclain/hgweb
首先,用htpasswd工具生成用户名和密码
htpasswd是apache的工具,它用改进的MD5对密码加密,安全性很高。
下面给新建用户linc和密码,命令如下:
$ htpasswd -c /home/linc/hg-repos/hgusers linc
密码设置完成后,看一下hguser文件:
$ cat hgusers
linc:$apr1$Wmne6Qrr$dylwU3XJYTvdG/yFyVrXw0
第二步,开放push权限
在hgweb.config中[web]下添加用户:
[web]
# Add users who have repo push access here.
allow_push = linc
这样,用户验证就配置好了。只不过需要每添加一个用户,都要管理员来完成。少了一些人性化。