SVN authz,基于路径的身份验证问题
[groups]
developer = a,b,c
doc = r,x
[/doc]
@doc = rw
@developer = rw
[/]
@developer = rw
* =
如果现在组文档的成员尝试查看文档,则不起作用。 我希望 doc 的成员能够查看子目录 doc,禁止其他任何内容。 有什么想法如何实现这一目标?
亲切的问候 ronny
[更新]
客户端:svn,版本 1.5.4 (r33841) 服务器:svn,版本 1.4.6 (r28521)
通过 svn+ssh:/user@host/fullpath-to-repos 访问
- 1 完美工作两年
- 2 可能 - 请参阅上面的版本号(我会立即联系我们的管理员) )
- 3 不? 只是 ssh
- 4 nope
- 5 nope
[update]
- 使用客户端版本 svn 1.4.6 (r28521) 也不起作用 -
- 我使用普通命令行访问时出现同样的错误。 svn co svn+ssh://....
[更新]
- 服务器:Linux 2.6.16.60-0.39.3-default9 i686 athlon i386 GNU/Linux - suse 10? 或者类似的东西,我认为
- Kubuntu 9.04
- 客户端:通过 OpenSSH SSH 客户端的
- 连接,服务器拒绝来自 localhost 的 svn:// 连接 - 任何连接 --- 很快就要在家里尝试一个副本
[更新 4] * 这不是我自己的服务器,我无法用它做我想做的事。 这是一台非常旧的服务器,至少运行了 10 年,拥有数百名用户。 标准的东西应该有效。 如果我遗漏了什么,请纠正我。
[更新5] 信不信由你。 我使用了错误的路径,但现在一切正常, 很抱歉浪费了您的时间。 我将悬赏给 FoxyBOA,以表彰他的努力。
[groups]
developer = a,b,c
doc = r,x
[/doc]
@doc = rw
@developer = rw
[/]
@developer = rw
* =
If now a member of the group doc tries to check out the documentation, it does not work.
I want members of doc just to be able to check out the sub-dir doc, anything else is forbidden.
Any ideas howto achieve this?
kind regards
ronny
[update]
client: svn, version 1.5.4 (r33841)
server: svn, Version 1.4.6 (r28521)
access via svn+ssh:/user@host/fullpath-to-repos
- 1 perfectly works for two years
- 2 might be - see version numbers above (I'll contant our admin, immediatelly)
- 3 no? just ssh
- 4 nope
- 5 nope
[update]
- using client version svn 1.4.6 (r28521) does not work either - same errors
- I use plain command line access. svn co svn+ssh://....
[update]
- server:Linux 2.6.16.60-0.39.3-default9 i686 athlon i386 GNU/Linux - suse 10? or something like that I think
- client: Kubuntu 9.04
- connection via OpenSSH SSH client
- the server rejects svn:// connections from localhost - any connection --- gotta try it with a copy at home time soon
[update 4]
* this is not my own server, I cannot do what I want with it. It is a very old server 10 years at least running, with hundreds of users. Standard things should work. correct me if I am missing something.
[update 5]
believe it or not. I was using the wrong path and now everything works perfectly well,
I am sorry to have wasted your time. I'll give the bounty to FoxyBOA for his efford.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
真正的方法是在这里:
The true way to do this is here :
哪些 url @doc 成员尝试结账?
[更新]
您能否提供一些附加信息:服务器和客户端上的 SVN 版本。 您的客户端如何尝试连接到 SVN 服务器(例如,使用 subclipse 库、命令提示符等从 Eclipse)。
如果您使用 svn+ssh,您的用户必须具有对您的服务器的有效访问权限。 您的用户是否拥有正确的 shell(即 bash、tcsh 等)? /bin/false 和其他伪造的 shell 不适用于 svn+ssh 连接类型。
您可能会遇到的其他问题 - 服务器和客户端上的 SVN 版本不同(例如服务器 1.4、客户端 1.5 尝试使用 1.5 技术进行连接)。
您是否在 SVN 中使用 SASL 身份验证?
您是否使用调谐?
您是否使用 ssh 配置技巧svn 文档中描述?
[UPDATED2]
[UPDATED3]
[更新4]
- 您确定您的 svn 服务器已启动吗? 如果您的 svn 在标准端口上工作,请尝试从本地服务器直接连接到 svn 端口:
如果工作正常,请尝试从客户端连接(即 telnet ip_server 3690)。
如果服务器上的 telnet 工作正常,但客户端的 telnet 失败,请检查您的防火墙、路由器等。
如果服务器
如果服务器上的 telnet 失败。 尝试重新启动 svn 服务器并检查服务器日志。
[UPDATE5]
在我看来,你的 svn 服务器停止了。 您能否检查一下 svn 服务在本地(从 localhost telnet 到 3690)和远程是否可见。 如果 svn 服务在这两种情况下都能正常工作,你必须得到类似的东西
Which url @doc members try to checkout?
[UPDATED]
Could you please provide some additional info: version of SVN on server and on client sides. How your clients try to connect to SVN server (e.g. from Eclipse using subclipse library, command prompt etc.).
If you are using svn+ssh your user must have a valid access to your server. Are your users have a correct shell (i.e. bash, tcsh etc.)? /bin/false and other fakes shells will not work with svn+ssh connection type.
Other problem that your may occur - different SVN versions on server and on client sides (e.g. server 1.4, client 1.5 which try to connect using 1.5 technologies).
Are you using SASL authentication with SVN?
Are you using tunelling?
Are you using ssh configuration tricks described in svn docs?
[UPDATED2]
[UPDATED3]
[UPDATE4]
- Are you sure that your svn server started? If your svn works on standard port, try to connect direct at svn port from the server locally:
If it works try to connect from a client (i.e. telnet ip_server 3690).
If telnet at the server works, but telnet from client fails, check your firewalls, routers etc.
If telnet at server fails. Try to restart svn server and check server logs.
[UPDATE5]
In my mind your svn server stopped. Could you please check if svn service is visible locally (telnet from localhost to 3690) and remotely. If svn service works correctly in both cases you have to get something like
“我使用 svn+ssh ... 奇怪的事情”
svn+ssh 使用 ssh 进行连接,然后以隧道模式运行 svnserve
svnserve 文档
换句话说,它忽略配置你已经设置好了。
"I use svn+ssh ... weird thing"
svn+ssh uses ssh to connect, then runs svnserve in tunnel mode
svnserve documentation
In other words, it ignores the configuration you've set up.