我目前正在使用ActiveDirectory身份validation与Apache和SVN。 用户正在使用TortoiseSVN客户端。
我应该指出,我有两个相同的名称和不同的映射的回购,但redirect到相同的“用户url”,因为这两个回购权限是相同的。
例如' http:// mysrvr / svn / foo / bar / corge '和' http:// mysrvr / svn / foo / corge '
或' http:// mysrvr / svn / foo / bar / corge '和'' http:// mysrvr / svn / foo / grault / corge '
这2回购的东西是复制8“回购对”,其余7工作正常。
这是我的错误:
提交失败(详情如下):
访问“/ svn / myDir / MYREPO /!svn / act / 65bf494c-a66a-4f45-870e-d988f691a45d”禁止
完了!
这不是权限,因为用户foobar有RW权限,他已经成功地检出了存储库。 这个错误发生在提交。
事情将有助于定位到一个精确的解决scheme:
其他回购对做得很好。 而权限是一样的。 我的svnpipe理员用户可以在同一台本地电脑上作为提交的问题用户。 大写/小写URL不是问题,我已经检查过NTLM和Active Directory不是问题,因为他有相同的权限文件访问其他回购。 同样的回购的其他用户正在尝试相同的问题。 虽然我仍然可以在本地PC上做这个提交。 (就像他们没有写入权限一样)下面是Apache日志:
Apache error.log
[dd mm 12:38:02 2011] [error] [client 10.xxx]拒绝访问:'foobar'MKACTIVITY MYREPO:
[dd mm 12:39:40 2011] [error] [client 10.xxx]拒绝访问:'foobar'MKACTIVITY MYREPO:
[dd mm 12:39:54 2011] [error] [client 10.xxx]拒绝访问:'foobar'MKACTIVITY MYREPO:
Apache access.log
10.xxx – foobar [dd / mmm / yy:12:38:02 GMT]“OPTIONS / svn / myDir / MYREPO HTTP / 1.1”200 198
10.xxx – foobar [dd / mmm / yy:12:38:02 GMT]“PROPFIND / svn / myDir / MYREPO HTTP / 1.1”207 667
10.xxx – foobar [dd / mmm / yy:12:38:02 GMT]“MKACTIVITY / svn / myDir / MYREPO /!svn / act / 65bf494c-a66a-4f45-870e-d988f691a45d HTTP / 1.1”403 266
svn_activity.log
[dd / mmm / yy:12:34:20 -0300] waldo commit r2
[dd / mmm / yy:12:39:07 -0300] fred status / src / trunk r1447
从svn_activity.log我可以推断出Apache的捕获和反弹的访问,因为在以前暴露的时间框架没有foobar访问。
所以,希望我收集的数据是有用的解决这个…任何想法?
PS看起来像这个链接,但我有更多的数据。 🙂
svn_activity日志级别较高,通常不如较低级别的http方法(如MKACTIVITY)debugging这些问题。 403意味着禁止 ,通常这是由于authz访问文件,但也可以来自apacheconfiguration中的规则。 如果您可以附加问题存储库和authz文件的apacheconfiguration,我们大概可以弄清楚。
在你的configuration文件中寻找这样的指令:
AuthzSVNAccessFile /data/authz