Sie*_*geX 5 encryption svn sasl
我正在尝试svnserve
在我的 Slackware 13.1 服务器上使用 SASL 支持进行设置,经过一些试验和错误后,我能够使其与下面列出的配置一起使用:
[general]
anon-access = read
auth-access = write
realm = myrepo
[sasl]
use-sasl = true
min-encryption = 128
max-encryption = 256
Run Code Online (Sandbox Code Playgroud)
pwcheck_method: auxprop
auxprop_plugin: sasldb
sasldb_path: /etc/sasl2/my_sasldb
mech_list: DIGEST-MD5
Run Code Online (Sandbox Code Playgroud)
$ sasldblistusers2 -f /etc/sasl2/my_sasldb
test@myrepo: cmusaslsecretOTP
test@myrepo: userPassword
Run Code Online (Sandbox Code Playgroud)
您会注意到,输出sasldblistusers2
显示我的测试用户具有加密的cmusaslsecretOTP密码和纯文本 userPassword密码。即,如果我要运行,strings /etc/sasl2/my_sasldb
我会以明文形式看到测试用户的密码。这两个密码条目是使用以下 subversion book 推荐命令创建的:
saslpasswd2 -c -f /etc/sasl2/my_sasldb -u myrepo test
Run Code Online (Sandbox Code Playgroud)
阅读后,man saslpasswd2
我看到以下选项:
-n 不要为用户设置明文 userPassword 属性。只会设置特定于机制的秘密(例如 OTP、SRP)
这正是我想要做的,取消纯文本密码,只使用特定于机制的秘密(在我的例子中是 OTP)。所以我清除/etc/sasl2/my_sasldb
并重新运行saslpasswd2
:
saslpasswd2 -n -c -f /etc/sasl2/my_sasldb -u myrepo test
Run Code Online (Sandbox Code Playgroud)
然后我用 a 跟进它sasldblistusers2
,我看到:
$ sasldblistusers2 -f /etc/sasl2/my_sasldb
test@myrepo: cmusaslsecretOTP
Run Code Online (Sandbox Code Playgroud)
完美的!我想,现在我只有加密的密码......只有 Linuxsvn
客户端和 WindowsTortoiseSVN
客户端都不能再连接到我的仓库。他们都向我展示了用户/通行证挑战,但就我所知。
那么,如果我的 sasldb必须以明文形式存储其密码才能工作,那么 SVN 支持 SASL 的意义何在?
这几乎不是一个答案,但我想指出,有一些消息来源明确表示 DIGEST-MD5 不(也永远不会)支持哈希密码,因为它需要明文密码来执行质询/响应,例如:
其他消息来源另有说法:
归档时间: |
|
查看次数: |
3229 次 |
最近记录: |