我正试图设置authz。实际上,我已经让它工作了,但是我需要从Wable移动到Google Cloud,在我工作的时候,我从Debian移动到Ubuntu 18.04。我也在从Subversion1.9.5升级到1.9.7。
我有一个Wable+Debian的SVN配置备份。但是仅仅恢复我的旧文件是行不通的。
无论如何,我有一个大型的单回购协议,我希望世界能够阅读它,但我自己能够读和写它。此外,我有一些目录,我想成为私有的,有时这些目录需要由一个额外的用户可写。
我的dav_svn.conf看起来像:

$ sed -e 's/#.*$//' -e '/^ *$/d' mods-enabled/dav_svn.conf
below cmd output started 2019 Sun Jul 21 09:22:58 AM PDT
<Location "/svn">
  DAV svn
  SVNPath /var/svn/repos
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /etc/apache2/dav_svn.authz
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>

顺便说一句,vim喜欢用红色标出“报告”。我不确定这是什么-不管怎样,apache似乎通过了语法检查。
我的dav_svn.authz如下所示(我删除了一些配置以保护其他人的隐私):
$ sed -e 's/#.*$//' -e '/^ *$/d' /etc/apache2/dav_svn.authz
below cmd output started 2019 Sun Jul 21 09:23:52 AM PDT
[/]
dstromberg = rw
* = r
[/private-quizzes]
dstromberg = rw
* =

我的回购协议允许我更改大多数文件-这是好的。但如果我试着结帐/私人测验,我会马上得到:
$ svn checkout http://stromberg.dnsalias.org/svn/private-quizzes
below cmd output started 2019 Sun Jul 21 09:26:32 AM PDT
svn: E170013: Unable to connect to a repository at URL 'http://stromberg.dnsalias.org/svn/private-quizzes'
svn: E175013: Access to '/svn/private-quizzes' forbidden

如你所见,它甚至不需要用户名和密码。即使我移除了~/.subversion,它也不会要求它们。
我需要怎么做才能让它验证我的身份,以便我可以再次修改(例如)私人测验?
谢谢!

最佳答案

前言
请至少重新阅读此SVN install manual中的示例(请特别注意“示例2:混合匿名和身份验证访问”部分-我一直都使用此方法,没有任何问题/当我处于Subversion/时)
一些附加说明
为了简单起见
如果在[/]处定义了某个权限级别,则可以忽略子树中的重复权限级别(即当rw在/中时,将自动在下面的整个树上具有相同的权限级别)
即使使用SVNPath(即单个存储库),我还是建议对authz的文件节使用通用格式:[repo:/path/in/repo]。从上面的文件,从“2。指定权限”部分
这也适用于使用SVNPath的情况,只有
存储库名称(url的最后一个元素)将始终相同。
简历
我想

<Location "/svn">
  DAV svn
  SVNPath /var/svn/repos
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /etc/apache2/dav_svn.authz
  Satisfy Any
  Require valid-user
</Location>

对您来说将是非常有用的,您可以尝试list | checkout | commit to private area,即使不编辑authz文件,但是经过抛光的authz会更好,毕竟

关于linux - Subversion + Apache authz未授权,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57135048/

10-13 05:22