允许匿名只读访问 Subversion 存储库

允许匿名只读访问 Subversion 存储库

我在 Ubuntu 20.04 中使用 Subversion 1.13.0,并使用 Apache 2.4.41 通过 HTTPS 提供 SVN。

身份验证是通过密码文件完成的,如果用户未经身份验证,主 /svn 文件夹将失败并出现 401。

但现在我需要创建一个需要匿名访问其文件的存储库。提交仍然需要身份验证。

是否可以将此存储库设置为无需身份验证即可读取?

答案1

假设您在 Apache 中使用 mod_dav_svn 来为 Subversion 提供服务,那么配置由 Apache 处理,如果是这样,那么是可以的。我建议您阅读Subversion 红皮书在线。第 188 页开始一节“httpd,Apache HTTP 服务器”,其中深入介绍了如何配置 Apache 来处理 SVN 存储库。

具体来说,您将使用 Limit 或 LimitExcept 指令修改 apache 配置文件 httpd.conf。他们给出的一个示例(第 194 页)是:

  <Location /svn>
  DAV svn

  SVNParentPath /var/svn

  # Authentication: Digest
  AuthName "Subversion repository"
  AuthType Digest
  AuthUserFile /etc/svn-auth.htdigest
  # Authorization: Authenticated users only for non-read-only
  #                (write) operations; allow anonymous reads
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>

此示例允许任何人执行 HTTP GET、PROPFIND、OPTIONS 和 REPORT 方法,但要求他们是经过身份验证的用户才能执行任何其他 HTTP 方法(例如 PUT 和 PROPPATCH)。

相关内容