SVN authz,基于路径的身份验证问题

发布于 2024-07-23 11:34:14 字数 1156 浏览 7 评论 0原文

[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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半世蒼涼 2024-07-30 11:34:14

真正的方法是在这里:

[groups]
developer = a,b,c
doc = r,x

[doc:/]
* =  
@doc = rw
@developer = rw

[otherPath:/]
* =
@developer = rw
@doc = r

[/] 
* = rw

The true way to do this is here :

[groups]
developer = a,b,c
doc = r,x

[doc:/]
* =  
@doc = rw
@developer = rw

[otherPath:/]
* =
@developer = rw
@doc = r

[/] 
* = rw
青丝拂面 2024-07-30 11:34:14

哪些 url @doc 成员尝试结账?

[更新]

您能否提供一些附加信息:服务器和客户端上的 SVN 版本。 您的客户端如何尝试连接到 SVN 服务器(例如,使用 subclipse 库、命令提示符等从 Eclipse)。

  1. 如果您使用 svn+ssh,您的用户必须具有对您的服务器的有效访问权限。 您的用户是否拥有正确的 shell(即 bash、tcsh 等)? /bin/false 和其他伪造的 shell 不适用于 svn+ssh 连接类型。

  2. 您可能会遇到的其他问题 - 服务器和客户端上的 SVN 版本不同(例如服务器 1.4、客户端 1.5 尝试使用 1.5 技术进行连接)。

  3. 您是否在 SVN 中使用 SASL 身份验证?

  4. 您是否使用调谐

  5. 您是否使用 ssh 配置技巧svn 文档中描述

[UPDATED2]

  1. 您是从命令提示符连接到 SVN 还是使用 IDE? 如果您使用的是 IDE,请为其命名并提供有关哪个插件/库/等的信息。 您用于连接到 SVN 服务器。

[UPDATED3]

  1. 您可以创建测试帐户并临时尝试在不使用 ssh 的情况下访问 SVN 服务器吗? 只需使用简单的 svn:// 协议。 如果有效,则问题出在 ssh 上,如果失败,则问题出在 svn 上。
  2. 您使用哪种工具进行 ssh 连接以及您在哪个操作系统上工作?

[更新4]
- 您确定您的 svn 服务器已启动吗? 如果您的 svn 在标准端口上工作,请尝试从本地服务器直接连接到 svn 端口:

telnet localhost 3690
  • 如果工作正常,请尝试从客户端连接(即 telnet ip_server 3690)。

  • 如果服务器上的 telnet 工作正常,但客户端的 telnet 失败,请检查您的防火墙、路由器等。

    如果服务器

  • 如果服务器上的 telnet 失败。 尝试重新启动 svn 服务器并检查服务器日志。

[UPDATE5]

在我看来,你的 svn 服务器停止了。 您能否检查一下 svn 服务在本地(从 localhost telnet 到 3690)和远程是否可见。 如果 svn 服务在这两种情况下都能正常工作,你必须得到类似的东西

(成功(1 2(匿名)(编辑管道)))

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.).

  1. 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.

  2. 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).

  3. Are you using SASL authentication with SVN?

  4. Are you using tunelling?

  5. Are you using ssh configuration tricks described in svn docs?

[UPDATED2]

  1. Are you connection to SVN from the command prompt or you are using an IDE? If you are using an IDE, please name it and provide info regarding which addon/library/etc. you are using for connection to the SVN server.

[UPDATED3]

  1. Could you create test account and temporary try to get access to SVN server w/o ssh? Just using plain svn:// protocol. If it works, the issue is in ssh, if it fails - svn.
  2. Which tool are you using for ssh connection and from which OS you are working on?

[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:

telnet localhost 3690
  • 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

( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )

心欲静而疯不止 2024-07-30 11:34:14

“我使用 svn+ssh ... 奇怪的事情”

svn+ssh 使用 ssh 进行连接,然后以隧道模式运行 svnserve

当跑过隧道时,
主要控制授权
通过操作系统权限
存储库的数据库文件; 这是很
就像哈利一样
直接通过访问存储库
文件:// URL。

svnserve 文档

换句话说,它忽略配置你已经设置好了。

"I use svn+ssh ... weird thing"

svn+ssh uses ssh to connect, then runs svnserve in tunnel mode

When running over a tunnel,
authorization is primarily controlled
by operating system permissions to the
repository's database files; it's very
much the same as if Harry were
accessing the repository directly via
a file:// URL.

svnserve documentation

In other words, it ignores the configuration you've set up.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文