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

2024-01-05

我已经设置了一个带有 Apache/WebDAV 接口的 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.passwd with AuthUserFile /etc/shadow没有成功。这使得服务器响应错误 500 内部服务器错误。这是合乎逻辑的,为什么Web 服务应该有权访问系统身份验证文件?

预先非常感谢!


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

我们必须告诉 Apache 使用“外部身份验证提供程序”,Apache 不会检查身份验证,而是将任务委托给外部身份验证器,在这种情况下,奇妙的是pwauth http://code.google.com/p/pwauth/.

所以我为使其发挥作用所做的步骤是:

  1. 为 Apache2 和 pwauth 安装 Mod_Auth_External 模块

    sudo apt-get install libapache2-mod-authnz-external pwauth
    
  2. 为 Apache 启用新模块:sudo a2enmod authnz_external在终端。

  3. 配置了我的apache.conf(或者你可能有httpd.conf)添加外部验证器(基于本文 http://code.google.com/p/pwauth/wiki/InstallApache#2._Server_Configuration):

    AddExternalAuth pwauth /usr/local/libexec/pwauth
    SetExternalAuthMethod pwauth pipe
    
  4. 编辑了我的/etc/apache2/mods-available/dav_svn.conf设置新的外部身份验证提供程序:

    ...
    AuthType Basic
    AuthName "Subversion Repository"
    AuthBasicProvider external
    AuthExternal pwauth
    Require valid-user
    ...
    
  5. 测试并运行良好!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Subversion 使用 Linux 系统帐户进行​​身份验证? 的相关文章

  • 无法提交到 svn - 访问被拒绝

    我正在使用 SVN 开发一个小项目 我查看了该项目 svn co http mylocalserver projectx 我进行了更改 更新并添加了文件 svn add file1 php file2 php 但是 每次我想使用此命令提交更
  • 如何查看提交修订后所做的更改并解析它以获取评论?

    我希望自动化一些与 SubVersion 相关的任务 所以我使用了 SharpSvn 不幸的是我找不到太多的文档 我希望能够在用户提交新修订后查看更改 以便我可以解析代码以获取特殊注释 然后将其上传到我的票证系统中 如果您只想浏览 Shar
  • Subversion 和 Visual Studio 项目的最佳实践

    我最近开始在 Visual Studio 中处理各种 C 项目 作为大型系统计划的一部分 该系统将用于替换我们当前的系统 该系统是由用 C 和 Perl 编写的各种程序和脚本拼凑而成的 我现在正在进行的项目已经达到了颠覆的临界点 我想知道什
  • 让 hudson 将源签出到特定目录

    这似乎是一个简单的任务 但在我的一生中 我无法让 Hudson 将我的源代码签出到特定目录 我可以在命令行上使用 svn 查看源代码 我尝试在源代码管理下指定本地模块设置 但没有骰子 我将其设置为 c source trunk 并在运行构建
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • svn删除删除的文件

    我有一个 SVN 项目的工作副本 文件被应用程序从此工作副本中删除 当我使用 SVN 命令行提交工作副本时 我想从存储库中删除这些已删除的文件 如果我使用提交工作副本svn commit它不会从项目中删除文件 因为它们没有在本地删除svn
  • 如何在apache 2.4.6上安装apxs模块

    我刚刚用过apt get update我的 apache 已更新为2 4 6 我想安装 apxs 来编译模块 但收到此错误 The following packages have unmet dependencies apache2 pre
  • DBus 是我要找的吗?

    我需要一个Linux上的IPC系统 我的要求是 面向数据包 消息 能够处理点对点和一对多通信 没有层次结构 没有服务器和客户端 如果一个端点崩溃 必须通知其他端点 现有 Linux 发行版的良好支持 Apache 存在 绑定 用于创建动态页
  • 在 subversion 中看到许多提交的组合差异?

    我被要求审查 SVN 版本号 123 178 199 245 和 288 中所做的更改 这些都是与特定功能相关的提交 解决这个问题的合理方法是什么 我想我真的想以某种方式查看收集的差异 但我愿意接受建议 我们现在正在修订 400 编辑 我想
  • 使用 Maven 外部化 SCM 凭证

    有没有一种方法可以外部化我的 SCM 凭据 以便它们不会存储在项目的 POM 中 问题是 如果它们包含在项目的 POM 中 那么在部署项目时它们将对所有人可见 对于某些 SCM 提供商 您可以在
  • 如何存储和计算版本控制历史记录?

    考虑这个简单的 python 代码 它演示了一个非常简单的字典版本控制设计 def build current history current for action key value in history assert action in
  • PowerShell 中的 SVN 输出编码

    我正在尝试在 PowerShell 脚本内的字符串中捕获 SVN 日志 在命令行上 输出的编码是正确的 但是当我将其捕获到字符串中时 它就不是正确的 PS C sandbox gt svn log r1804 https myserver
  • MS Office 使用 WebDAV 以只读方式打开文档

    我们实现了自己的 WebDAV 服务器 某些使用 Office Word Excel 的用户以只读方式打开文档 对于有问题的计算机 接下来的查询是 OPTIONS http pastie org 10957339 http pastie o
  • 如何从 Chrome 扩展示例(subversion 存储库)下载所有文件?

    我要下载这个例子 http src chromium org viewvc chrome trunk src chrome common extensions docs examples api tabs 它们是使用 ViewVC 显示的
  • 禁用“无法提供目录”错误

    在我的网站上我有一个 upload目录 和我don t希望人们看到目录中的内容列表 仍然可以查看其中的文件 所以对我来说以下错误消息不是错误 有没有办法禁用以下错误消息 同时保留 upload目录列表已禁用 禁止 autoindex err
  • 为什么我不能在 cygwin 中使用 $SVN_EDITOR 环境变量?

    我一定是错过了一些愚蠢的事情 当我使用 m 选项时它工作正常 echo SVN EDITOR emacs svn commit test py svn Commit failed details to follow svn Could no
  • 找不到 cygwin setup.exe 文件?

    我正在尝试将 subversion 数据包添加到 cygwin 为此我需要运行 setup exe 但我在 cygwin 文件夹中找不到它 它会位于哪里 它不是incygwin 文件夹 它位于您上次安装时放置的位置 很可能是垃圾箱或临时目录
  • 基于网络的颠覆查看器[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • OSX 通过 macports 安装 subversion 时出错

    我正在尝试安装 subversion 1 7 2 从默认的 Lion 版本 1 6 升级 跑步sudo port install subversion安装成功完成 但是在运行 svn version 时收到此错误 svn version d

随机推荐

  • Rust 中如何使用两个指针迭代链表?

    我刚刚开始学习 Rust lang 并尝试在 Leetcode 上做一些练习 我正在解决问题链表的中间 https leetcode com problems middle of the linked list 解决办法就是使用慢指针和快指
  • Flutter中如何通过print()来登录release模式?

    我的网络应用程序有一个仅在配置文件和发布版本中出现的问题 小部件未正确渲染 仅产生灰色 我想添加一些 print 语句来帮助找出问题所在 但 print 不会在配置文件 发布版本中将任何内容记录到 VSCode 调试输出窗口 有什么想法如何
  • 在 java 中添加 1/3 会得到 1.0,但事实并非如此

    Note 问题还没有彻底回答 这个问题不涉及浮点部分截断的问题 在Java中我有这个简单的代码 double sum 0 0 for int i 1 i lt n i sum 1 0 n System out println Sum sho
  • Git 命令删除已删除上游的本地分支?

    有很多类似的问题 例如this one https stackoverflow com q 17983068 575530 or this one https stackoverflow com q 18081085 575530 但接受的
  • 使用qdial控制数字电位器

    我有一个 python 程序 可以使用 qt GUI 上的按钮控制数字电位器 效果很好 我正在尝试修改程序以使用 qdials 但除了电位器的拨号电阻或向下拨号电阻之外 无法弄清楚如何对其进行编程 要么是其中之一 要么是另一个 我将在下面发
  • SDL2硬件渲染的奇怪行为

    我想制作我的第一个游戏 没什么特别的 只是按下 WASD 键时蓝色矩形会移动 问题是 当我运行游戏时 矩形存在错误 见下图 错误仅在水平移动时出现 而不是垂直移动时出现 有趣的是 当我换行时 renderer SDL CreateRende
  • 如何将自定义服务添加到 ActiveStorage

    我想向 ActiveStorage 添加自定义服务 因为我想覆盖url的方法ActiveStorage 服务 S3Service https github com rails rails blob e970d15211a8efd7349ff
  • R 将工作目录设置为源文件位置?

    我读过这个主题 用于将工作目录设置为源文件位置的 R 命令 https stackoverflow com questions 13672720 r command for setting working directory to sour
  • 如何以指定的时间间隔定期自动调用 servlet [重复]

    这个问题在这里已经有答案了 必须定期调用servlet 就像android中的服务概念 这个怎么做 使用计时器或任何其他解决方案 提前致谢 扩展 JB Nizet 的评论 The 以前接受的答案 https stackoverflow co
  • 如何将实体框架 ICollection 更改为 ObservableCollection?

    因此 我对使用实体框架设计器制作 EDMX 来充当 MVVM 项目中的模型已经很感兴趣了 我刚刚遇到一个问题 我很确定ICollection lt gt 这是生成的代码 例如见下文 确实需要是ObservableCollection lt
  • 您的应用程序包含非公共 API 使用 - 提交应用程序

    我正在尝试使用 XCode 向 Itunes connect 提交申请 我明白了 您的应用程序包含非公共 API 使用 请检查错误 更正它们并重新提交您的申请 该应用程序引用 Payload myapp app setSoundsEnabl
  • DLL 版本控制错误

    我有一个网站偶尔会抛出以下错误 应用程序中的服务器错误 无法加载文件或程序集 ICSharpCode SharpZipLib Version 0 85 3 365 Culture neutral PublicKeyToken 1b03e6a
  • 使用 vssClientCredentials 进行 VSTS 身份验证

    我目前正在尝试使用下面的代码连接到 VSTS 项目 之前在显示的对话框中输入凭据后已成功连接 if IsConnected sourceControl release SourceControl connection new VssConn
  • 停止对 html 的多次提交

    所以我用谷歌搜索了这个问题 他们都给出了相同的代码 但它从来没有工作过 我希望只能单击该按钮一次 这样您就不能多次单击该按钮发送垃圾邮件 这是我的 HTML
  • Omniauth-facebook 取消按钮

    我已经开始将 Facebook 身份验证集成到我的 Rails 3 1 站点中 但当我单击 Facebook 身份验证对话框上的取消按钮时遇到了问题 当我单击取消时 我会被重定向回我的网站 auth facebook callback 然后
  • 我应该在 Django Rest Framework 中使用 JWT 还是基本令牌身份验证?

    我即将使用 Django Rest Framework 在我的 API 中实现令牌身份验证 但我不确定我是否应该使用基本令牌内置 DRF 或使用 JSON Web 令牌 JWT 标准 使用这个包djangorestframework jwt
  • Jenkins - Git 子模块凭证与父存储库不同

    背景 Jenkins 用于从具有 Git 子模块的 Git 存储库构建工件 子模块与父项目不在同一存储库中 甚至不在同一端点 问题是父存储库检查正常 因为凭证 ssh 密钥 A 与主 父存储库关联 但毫不奇怪 在子模块上失败 因为凭证 ss
  • Access 2007 VBA:使用另一个列表框中的选择构建一个列表框

    因此 每个订单可能有 8 个类别 但不一定是所有类别 因此 我打算构建一个列表框 允许用户在打开 订单详细信息 表单 未绑定表单 其中隐藏了包含所有所需 ID 号的文本框 时双击他们希望关联的每个类别 我想在它旁边有另一个空文本框 它允许我
  • 如何安装 Eclipse EPP(例如 3.8 上的 EPP 建模功能)?

    如何通过 3 8 版本的软件安装程序安装 Eclipse EPP 我想选择 EPP 建模功能 并安装其所有软件包 而不是单独选择它们 例如 如果我安装 Eclipse Juno Eclipse Modeling Tools 然后查看已安装的
  • 如何让 Subversion 使用 Linux 系统帐户进行​​身份验证?

    我已经设置了一个带有 Apache WebDAV 接口的 Ubuntu Server for Subversion 以便与其他开发人员共享存储库 我的问题是 如何让 Subversion 使用 Linux 系统帐户进行 身份验证 这将使 S