推荐给好友 上一篇 | 下一篇

使用svnserve的SASL认证

Subversion1.5引入了SASL库,这给了我们机会使用SASL提供的认证方式来为svnserve进行认证,本文介绍了Windows下的配置方式。

SASL核心发布目前支持认证协议有:

  • ANONYMOUS
  • CRAM-MD5
  • PLAIN
  • GSSAPI (MIT Kerberos 5 or Heimdal Kerberos 5)
  • DIGEST-MD5

也支持如下的认证协议:

  • LOGIN
  • SRP
  • NTLM
  • OTP
  • KERBEROS_V4

Windows下这些模块可能都保存为dll,你可以选择自己编译,也可以选择获取二进制程序,现在还不清楚官方的Subversion发布会不会包含所有的模块,但是现在已知的Collabnet Subversion包含了几乎所有的模块,下载地址为:

http://merge-tracking.open.collab.net/servlets/ProjectProcess?pageID=3711

SASL配置

linux下的配置文件好说,windows下SASL配置文件需要使用注册表配置,要在你的系统配置SASL,第一步就是设置注册表:

[HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie Mellon\Project Cyrus\SASL Library]
"SearchPath"="C:\\Program Files\\CollabNet Subversion Server"
"ConfFile"="C:\\Program Files\\CollabNet Subversion Server"

这个是安装Collabnet Subversion时自动创建的,可以看到有两个键,其中“SearchPath”指明所有的扩展认证方式库存放的路径(那些dll),而ConfFile指明SASL配置文件的路径,在上面的配置里,配置文件应该是“C:\\Program Files\\CollabNet Subversion Server\\svn.conf”。下面看看我们的这个svn.conf文件:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: ANONYMOUS CRAM-MD5
sasldb_path: C:\svn_repository\sasldb

其中pwcheck_method指明检查的方法,这里是“auxprop ”,这个pwcheck_method还对应了如启动一个代理作为认证服务等方式,而现在的意思就是使用本文件说的方式去检查。然后我们指明auxprop_plugin为sasldb,也就是使用一个文件存放用户名密码,也就是“C:\svn_repository\sasldb”,其它的认证信息存放plugin还有sql和ldapdb。而mech_list指明了认证信息传递机制,现在指明的是ANONYMOUS和CRAM-MD5。 这里还需要做的是创建那个“C:\svn_repository\sasldb”文件:

saslpasswd2 -c -f C:\svn_repository\sasldb -u myrealm username

 然后输入密码,这样就在sasldb建立了一个用户,注意“myrealm ”,后面我们还会用到,要想查看建立的用户,可以用:

sasldblistusers2.exe -f C:\svn_repository\sasldb

好的,到此为止SASL部分已经好了,需要注意的是,前面svn.conf的修改要生效必须重启svnserve,这与以前我们修改svnserve.conf立即生效不一样了。我们再去对svnserve作出相应的修改。

svnserve配置

打开一个svnserve管理的库,打开svnserve.conf,把下面这行的注释去掉

use-sasl = true

然后修改realm为前面的myrealm:

realm = myrealm

总结

好的,现在可能就好了,checkout一个工作拷贝,然后提交看看,是不是用了sasldb中的用户名密码。

比较愁人的是,SASL的文档实在太少了,而各种各样的说明也非常不清楚,我也是在不断的整理中逐渐澄清了一些问题。其实SASL更多的是提供了很多认证信息传递的协议,而对于密码保存的方式,他目前只是支持了文件、SQL和LDAP等方式,对于很多人希望的域认证来说,似乎要送ldap访问Active Directory方式入手(后面实际尝试一下),而前面所说的NTLM,只是说认证协议是NTLM的,并不能支持使用现有的域用户认证。

参考资料



TAG: SASL svnserve 认证
 

评分:0

best web hosting
evden eve nakliyat

我来说两句