gpt4 book ai didi

svn - 如何让 Subversion 使用 Linux 系统帐户进行​​身份验证?

转载 作者:行者123 更新时间:2023-12-04 01:45:31 24 4
gpt4 key购买 nike

我已经设置了一个带有 Apache/WebDAV 接口(interface)的 Ubuntu Server for Subversion,以便与其他开发人员共享存储库。我的问题是,如何让 Subversion 使用 linux 系统帐户进行​​身份验证?这将导致非常容易的 Subversion 帐户管理。带有 Apache/WebDAV 的 Subversion 当前正在使用此配置:

/etc/apache2/mods-available/dav_svn.conf 的内容:

<Location /svn>
DAV svn
SVNParentPath /home/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>

我已尝试更改 AuthUserFile /etc/apache2/dav_svn.passwdAuthUserFile /etc/shadow没有成功。这使得服务器响应错误 500 internal server error。顺理成章,为什么 Web 服务应该有权访问系统身份验证文件?

提前非常感谢!

最佳答案

行!我做到了!而且我认为很难找到答案!

我们必须告诉 Apache 使用“外部身份验证提供程序”,Apache 不会检查身份验证,但会将任务委托(delegate)给外部身份验证器,在这种情况下,奇妙的 pwauth .

因此,我为使其工作而采取的步骤是:

  • 为 Apache2 和 pwauth 安装 Mod_Auth_External 模块
    sudo apt-get install libapache2-mod-authnz-external pwauth
  • 为 Apache 启用新模块:sudo a2enmod authnz_external在终端。
  • 配置了我的 apache.conf (或者您可能有 httpd.conf )添加外部验证器(基于 this article ):
    AddExternalAuth pwauth /usr/local/libexec/pwauth
    SetExternalAuthMethod pwauth pipe
  • 编辑了我的 /etc/apache2/mods-available/dav_svn.conf设置新的外部身份验证提供程序:
    ...
    AuthType Basic
    AuthName "Subversion Repository"
    AuthBasicProvider external
    AuthExternal pwauth
    Require valid-user
    ...
  • 测试并运行良好!
  • 关于svn - 如何让 Subversion 使用 Linux 系统帐户进行​​身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4522941/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com