是否可以设置svnserve,以便使用系统的用户和密码进行身份validation(例如,使用/ etc / shadow文件)? 我认为这将与SASL,但我找不到这样工作的SASLconfiguration。
我有一个在Apache下运行的Subversion服务器,但是速度很慢。 在某些情况下使用svnserve比较快,所以我想切换到这个。 svn + ssh方法似乎对于那些需要设置私钥/公钥的用户来说很复杂。
我没有遵循这个指南,所以我不知道它是否是最新的和准确的,但是这里是:
使用SASL进行身份validation
另外,你不需要使用私钥/公钥(除非你有企业策略或者其他的东西)才能使用SVN进行validation。 您可以使用svn客户端的内置密码提示,如果您不想每次input密码,都可以使用该选项来caching密码。
另外,你可能想要调查为什么Apache看起来很慢。 我发现多年来,SVN + Apache为您提供了最大的灵活性和健壮性。 我无法想象从svn + apache转移到svnserve。
我调查了一下这个选项:
从SASL的angular度来看,您可以使用PLAIN机制来对系统帐户进行身份validation。 最好的select可能是PAM和saslauthd 。 但“共享秘密”机制是不可能的(除非你的系统帐户密码清晰地存储)。
从Subversion的angular度来看,在“已知问题”下的SASL 1.6.4列表中,他们完全禁用ra_svn和svnserve中的PLAIN机制,因为它以明文forms发送密码。 在1.6.5的注释中,他们解除了这个限制,并解释说你应该注意保护你的networking通信。 他们可能做了这个改变,因为他们知道需要使用saslauthd :
特别是,这个问题会影响用户使用saslauthd守护进程对用户进行身份validation,因为该方法(= PLAIN)只能使用纯文本密码。
所以最后,我认为你可以得到它的工作,但只有非常有限的configuration:客户端和服务器必须有Subversion 1.6.5或更高的SASL编译。