linux下搭建SVN遇到authentication failed问题的解决方法

2023-11-08

之前由于要管理项目组的文档,所以就想在linux下搭建一个svn平台,于是我就在网上找资料,并按照步骤搭建了一个SVN,结果老是出现一个authentication failed的错误,经过一个下午的努力,终于让我找出了错误的原因,一个非常奇怪的原因。我先说说我的搭建方法,然后再说说错误的原因:

一般来说,subversion服务器可以用两种方式架设:

一种是基于svnserve,svnserve作为服务端;

一种是基于Apache,用apache作为服务端。关于Apache模式的配置方法见http://wiki.iusesvn.com/index.php/Subversion%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%A4%E7%A7%8D%E9%85%8D%E7%BD%AE%E6%96%B9%E5%BC%8F%E6%89%80%E7%94%A8%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%8F%8A%E6%A0%BC%E5%BC%8F

由于我搭建svn的这个实例上没有Apache,所以我用的第一种方法搭建的(其实用第二种方法原理也是差不多的,我等下会附上配置)。

我的系统为ubuntu server 12.04(其实只要是linux内核的,搭建步骤都差不多,至多有apt-get yum 或者源码安装的区别,这点大家不用担心)(以下所有安装步骤最好在root权限下)

1.在终端中直接输入  sudo apt-get install subversion,选择安装即可

2.(可选)看版本命令 svnserve --version。如果出现下面图片,说明安装成功

svn version信息 

3.添加svn管理用户和subversion组(这步很重要,不然也会导致authentication错误)

sudo adduser svnuser(添加svnuser用户)

sudo addgroup subversion(添加subversion组)

sudo addgroup svnuser subversion

4.开始创建项目目录

sudo mkdir /home/svn (这里的svn即为版本库目录文件,以后所有的操作都在/home/svn下

cd /home/svn

mkdir one(这里即为一个版本库文件,文件名可以任意取)

chown -R root:subverison one

chmod -R g+rws one

5.创建SVN文件仓库,即为上面建立的one文件目录

svnadmin create /home/svn/one

到这一步,安装基本完成,开始改配置。

6.在/home/svn/one文件目录中可以看到conf文件夹,可针对conf文件夹中的authz、passwd、svnserve.conf进行设置,svnserve.conf主要设置整体的安全策略,passwd则设置用户名和密码,authz则是设置具体的用户有什么权限。

7.访问权限设置

 (1)编辑svnserve.conf文件,编辑svnserve.conf文件。

anon-access:匿名用户的权限,可以为read,write和none,默认值read。不允许匿名用户访问:anon-access = none

auth-access:认证用户的权限,可以为read,write和none,默认值write。

password-db:密码数据库的路径,去掉前边的#

authz-db:认证规则库的路径,去掉前边的#。

注意:这些配置项的行都要顶格,否则会报错。修改配置后需要重启svn才能生效。
(2)编辑passwd文件,加入用户名和密码(如下为示例)

这是每个用户的密码文件,比较简单,就是“用户名=密码”,采用的是明码。如allen=1(apache模式下密码为经过加密的变化)

 [users]
allen = 1
ellen = 1
test = 1
 

(3)编辑authz文件,配置用户访问权限(如下为示例)

1. [groups] section:为了便于管理,可以将一些用户放到一个组里边,比如:owner=allen,ellen

2. groups下边的sections表示对一个目录的认证规则,比如对根目录的认证规则的section为[/]。设置单用户的认证规则时一个用户一行,如:

[/]

allen=rw  #allen对根目录的权限为rw

ellen=r   #ellen对根目录的权限为r

如果使用group,需要在group名字前加@,如

@owner=rw  #group owner中的用户均为rw,等价于上边的两句话

启动时如果从/home/svn/one启动,/就是one目录,用如上方式以one目录为根设置权限。

如果从/home/svn/启动,每个仓库根还是自己的起始目录。可以采用如上方式设置astar的权限,也可以采用如下方式:

[one:/]

@owner=rw

简言之,每个仓库的根目录(/)就是自己的起始目录;[repos:/]这种方式只适用于多仓库的情况;[/]适合于单仓库和单仓库的方式。更多关于单仓库和多仓库的问题,请见
http://http://bbs.iusesvn.com/thread-157-1-1.html

8.启动svn服务 svnserve -d -r -T /home/svn

描述说明:
-d 表示svnserver以“守护”进程模式运行

-T表示以线程模式运行,增加效率
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库。如: svn://你的IP/one

这个时候SVN就安装完成了。

然后在WINDOW下面安装客户端tortoise SVN(可能这里大家要问,为什么客户端要安装在WINDOWS下面,因为毕竟很多程序员调试代码都是在WINDOWS下面,而且查看代码什么的都是WINDOWS下面方便)。

9.这时候可以在客户端用用户名和密码登陆使用了,这里大家都会。

这个时候输入密码的时候就很有可能遇到authentication failed的提示。如下图所示:

authentication failed信息

,让我纠结了很久的一个问题

后来发现问题的原因是passwd文件中所有行前面都不能有空格,如果有空格的话就会提示这个错误。

总之,大家在配置的过程一定要注意authz passwd svnserve.conf文件所有行的前面都不能有空格;注意建立svn管理用户和组;另外注意单仓库和多仓库权限的配置问题和它们的访问路径问题。

这样的话,基本上就可以正常地享受SVN之旅了。

谢谢大家。有问题大家可以一起交流学习。

本文出自 “李爽” 博客,http://19890826.blog.51cto.com/1509833/928762

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

linux下搭建SVN遇到authentication failed问题的解决方法 的相关文章

  • 用串口控制kobuki, 绕过ROS系统

    介绍 下面所做的事情 用串口来控制kobuki底座运动 绕过ros系统 首先测试一下串口命令是否可用 硬件设备 kobuki turtlebot的底座 kobuki usb连接 用usb线将kobuki和电脑连接起来 不是25针的接口 wi
  • 文本生成视频Make-A-Video,根据一句话就能一键生成视频 Meta新AI模型

    Meta公司 原Facebook 在今年9月29日首次推出一款人工智能系统模型 Make A Video 可以从给定的文字提示生成短视频 Make A Video研究基于文本到图像生成技术的最新进展 该技术旨在实现文本到视频的生成 可以仅用
  • 面试求职经历及遇到的部分问题

    转眼间已经工作一年多了 最近想换个工作环境 就选择了跳槽 跳槽对我们程序猿来说并没什么稀奇 但这是我第一次跳槽 也颇感激动 哈哈 总的来说 这次找工作还是相对去年来说比较容易的 毕竟已经工作一年了嘛 记得去年的时候投20份简历也不一定会有面
  • BAT大佬分享:Linux 工程师的 6 类好习惯和 23 个教训

    一 线上操作规范 1 测试使用 当初学习 Linux 的使用 从基础到服务到集群 都是在虚拟机做的 虽然老师告诉我们跟真机没有什么差别 可是对真实环境的渴望日渐上升 不过虚拟机的各种快照却让我们养成了各种手贱的习惯 以致于拿到服务器操作权限
  • 如何从技术岗位转为管理岗位呢?

    很多做技术的人 做多了几年总是担心自己的职业生涯发展道路 对自己的职业生涯发展缺乏方向和清晰的目标 而且 不少技术岗位的人员都认为技术不能干一辈子 总是希望有更好的机会 然而如何从技术岗位转型为管理岗位呢 这难倒了不少技术岗位的人 毕竟技术
  • elasticsearch介绍

    什么是elasticsearch Elasticsearch是一个基于Lucene的搜索服务器 它提供了一个分布式多用户能力的全文搜索引擎 基于RESTful web接口 Elasticsearch是用Java语言开发的 并作为Apache
  • 2019年底总结

    一年很快 又到改写总结的时候了 回顾这一年 2019年办成了很多的事情 在此借用这句 忆往昔 年少轻狂时 俱远矣 看今日 而立之年始 继拼之 表达下吧 看看2018年的计划 发现大部分自己都在不自不觉中做了 时事 经济领域 用平时的碎片时间
  • 镜头景深计算公式的推导

    景深是指成像画面中最近清晰点到最远的清晰点之间的范围 由于传感器或胶片的分辨率限制 或者照片冲洗放大后在一定距离观看时 受到人眼的分辨率极限限制 通常会将清晰这一概念与底片上一定尺寸的弥散斑大小相关联 按照传统的景深定义 物距为u1的点光源
  • 互联网生活中的隐私保护:用隐私换便利还是花钱护隐私?

    近日 某高校毕业生在校期间窃取学校内网数据 收集全校学生个人隐私信息的新闻引发了人们对互联网生活中个人信息安全问题的再度关注 在大数据时代 算法分发带来了隐私侵犯 在享受消费生活等便捷权利的同时 似乎又有不少个人信息泄露的担忧 用隐私换便利
  • 【杂谈】如果你也23岁

    23岁的时候 你是什么状态 匿名用户 23岁那年 就是去年 在22岁的时候我毕业 同时第二年准备考研 结果因为压力太大 期望太高 又失利了 但是我依然满怀信心和憧憬 在我23岁那年四月 当我深爱的女孩 在这之前我追了她四年 说她要去北京时
  • 我的程序员之路进行中

    计划看的书 1 Windows程序设计 第5版珍藏版 1104页 2 Windows程序设计 第2版 王艳平 扫描版 490页 3 Windows核心编程 第5版 769页 4 竹林蹊径 深入浅出windows驱动开发 506页 5 Win
  • 【ESP32C3&合宙ESP32C3】:ESP32C3和合宙ESP32C3的环境搭建与离线包安装

    项目场景 最近买了一块合宙ESP32C3的开发板 于是想要开发一下 当然开发最开始少不掉开发环境的搭建 在这个搭建的过程中 遇到了一些问题 解决了 也希望能帮助到大家 ESP32C3 和 合宙ESP32C3 在arduino中可以用同一种方
  • 智慧园区参观纪要

    首都国企开放日期间 云梯联盟举办了 深入走进创新主体 活动 昨天参观了牡丹集团旗下的智慧园区 现在做一个简单的纪要 1 国企战略转型经历的四个阶段 第一个阶段是初创时期实施 一体化 战略 发展园区服务业 第二个阶段是起步时期实施 一体两翼
  • 《我在大学挺好的》之——选择了计算机专业

    大家好 我是小鱼儿 Hello 各位铁汁们 今天咱不聊技术 谈我是为什么选择计算机专业 同时聊聊我的最近一年的经历 以及我为啥要写博客 大家完全可以把这篇文章看作是一次闲谈 哈哈 目录 我为啥要选择计算机专业 我最近半年经历了什么 我的大学
  • Linux Ubuntu16.04 安装lmdb问题

    LMDB的全称是Lightning Memory Mapped Database 快如闪电的内存映射数据库 它的文件结构简单 包含一个数据文件和一个锁文件 LMDB文件可以同时由多个进程打开 具有极高的数据存取速度 访问简单 不需要运行单独
  • 2017总结

    这一年还是大部分时间做着开发的工作 在创业的一年多时间里 好像自己所做的事情不太像一个创业者做的事 用了太多的时间在具体的工作当中了 对于市场 对于营销推广都是在被动的接收 没有全面的 主动的去做事情 这也可能是我们做技术的出来创业的弊端
  • 手动开启O2, O3优化

    O2 O3优化可以提高程序运行效率 减少程序的运行时间 通过开启O2 O3优化 可以使STL与数组模拟的数据结构各种操作的时间达到相同 但如何手动开启 将下面两句话加到程序开头即可 pragma GCC optimize 2 pragma
  • Golang在ARM/Linux平台上函数参数的传递

    一 前言 作为一名初级的嵌入式软件开发从业者 工作中大部分项目以C语言实现 使用C语言来编写代码 通常我们可以预测到编译生成的汇编 机器编码的大致情况 在不同的芯片架构上 有其相应的ABI标准 而近年来逐渐流行起来的Go语言编程 虽然同样语
  • 全网最全的人类图解析(上)——九大能量中心与64道闸门

    以下内容来源皆来自 亚洲人类图学院 获得自己的人类图 传送门 文章目录 简介 一 九大能量中心简介 1 头脑中心 Head Center 头脑中心的主题 灵感 2 逻辑中心 Ajna Center 逻辑中心的主题 概念化 3 喉咙中心 Th
  • 为什么上下文学习有用

    上下文学习与Prompt learning 类似 但是又不完全一样 预训练的大模型不需要进行微调 只需要根据提示 也就是上下文 in context 就能够完成特定的任务 这一点在ChatGPT中体现的尤为明显 当我们与大模型进行对话的时候

随机推荐

  • 自定义注册、登录的校验规则(自定义validate校验规则)

    在做项目时 有一个校验用户信息的步骤 分为前端校验和后台校验 前端校验已经存在了许多插件方便了我们的使用 如validate 然而有些时候我们要用的校验规则插件中并没有 这就需要我们自定义校验规则了 接下来讲述一下validate的使用和自
  • Windows Terminal配置

    Windows Terminal配置 一 安装 二 默认终端配置 三 配置在当前文件打开终端 现在安装之后好像Terminal之后好像是自动配置的 不用人工配置 1 右键打开 2 设置打开Terminal为当前目录 四 主题 五 完整版配置
  • 消息队列对比

    目录 什么是消息队列 常用的消息队列工具对比 1 ActiveMQ 2 RabbitMQ 3 Kafka 4 RocketMQ 什么是消息队列 消息队列是分布式应用间交换信息的重要组件 消息队列可驻留在内存或磁盘上 队列可以存储消息直到它们
  • typescript, javascript, 字符串固定位置插入字符

    js和ts里连个字符串插入方法都没有 难受 这个参考了python中index可以是负数从后向前数的思想 自己写了一个 字符串插入函数 自己确认插入位置 若位置不对会抛出异常 param string src 原字符串 param numb
  • Kotlin 1.3 终于正式发布,带来了稳定的 Coroutines、beta版本的Kotlin/Native

    Kotlin 官网 https kotlinlang org Github 地址 https github com JetBrains kotlin 此次版本更新包括 Coroutines 的正式发布 Kotlin Native Beta
  • js中every用法_JS中every()和some()的用法

    every 与some 方法都是JS中数组的迭代方法 every 是对数组中每一项运行给定函数 如果该函数对每一项返回true 则返回true some 是对数组中每一项运行给定函数 如果该函数对任一项返回true 则返回true func
  • 44. 日志管理之systemd日志,持久化设置,journal,systemd-journald,查看日志(journalctl)

    Systemd 统一管理所有 Unit 的启动日志 可以只用journalctl一个命令 查看所有相关日志 内核日志和应用日志 日志的配置文件是 etc systemd journald conf 文章目录 持久化systemd日志 查看日
  • 时序预测

    时序预测 MATLAB实现时间序列回归之似然检验 目录 时序预测 MATLAB实现时间序列回归之似然检验 基本介绍 程序设计 学习小结 参考资料 基本介绍 使用 CNLM 假设制定的 t 和 F 检验版本可以在创新分布偏离规范的各种情况下提
  • 【mcuclub】压力检测模块-XGZP6847

    一 实物图 型号 XGZP6847 二 原理图 编号 名称 功能 1 NC 空置 2 VDD 电源正 3 GND 电源地 4 VDD 电源正 5 OUT 信号引脚 输出的是模拟量 6 GND 电源地 三 简介 XGZP6847型压力传感器是
  • Spyder预测标签和真实标签以Mat格式输出(待续)

    1 需求 需要将Spyder里面的预测标签和真实标签输出 并保存为Mat格式 以通过Matlab生成混淆矩阵 为什么要用Matlab生成混淆矩阵呢 python不是也是可以的吗 import pandas as pd import torc
  • 【《程序员的自我修养---链接装载于库》读书笔记】可执行文件的装载与进程

    系列文章目录 程序员的自我修养 链接装载于库 读书笔记 初探ELF 程序员的自我修养 链接装载于库 读书笔记 windows PE COFF 程序员的自我修养 链接装载于库 读书笔记 可执行文件的装载与进程 文章目录 系列文章目录 前言 6
  • 为什么TCP建立连接要求发送方和接收方的初始化序列号不一样的呢?

    前几天有位读者问我为什么 TCP 建立连接需要三次握手文章中一个问题 就是他不明白 序列号解决了数据包的缺失和顺序颠倒等问题 但为什么要求发送方和接收方的初始序列号不一样 后来 我跟他交流半个小时 终于把他讲明白了 我觉得应该有不少人会有以
  • postman之在tests断言中使用for循环断言和断言空

    一 tests断言中使用for循环断言 1 在使用postman判断过程中 想要实现这么一个场景的判断 因为banner位置的配置是多变的 可以不配置 可以配置一个 也可以配置多个 在接口检测判断过程中想要通过for循环对banner列表中
  • Ubuntu安装了python3.8和python3.7,安装numpy时出现问题

    环境 Ubuntu20 04 由于目前PySpark只支持python3 7及以下的版本 而Ubuntu20 04自带的python3是python3 8 5 于是我安装了python3 7 9 且没有改动默认的python版本 千万别改
  • 接口测试的维度

    在 Python自动化测试实战 的书籍里面系统的介绍了基于Python语言的接口自动化测试实战和基于Python语言的UI自动化测试实战 特别是接口测试部分 详细的介绍了HTTP的协议原理 序列化与反序列化 主流测试工具 Postman和J
  • 2020CCPC河南省赛 发通知(离散+差分)

    学院一共有 n 位学生 用 1 编号 每天 学院都会派遣辅导员给学生发送若干通知 以保证各项措施 活动消息得到落实 现在 学院要求辅导员发送一条关于光盘行动的通知 对于通知信息 同学们的反应往往各不相同 辅导员预测出第 i 号学生收到通知后
  • vue面试题——v-if 和v-show的区别

    面试前端时 涉及到vue v if和v show几乎是必问的一道题 所以记录一下 首先我们先来看一段代码
  • iwconfig查看网卡 ifconfig查看ip /etc/init.d/ssh restart

    iwconfig查看网卡 ifconfig查看ip etc init d ssh restart 开启ssh服务 1 查看是否有sshd config cat etc ssh sshd config 查看是否有sshd config文件 2
  • python二级练习软件(90%原题)题库、三天速成。

    刷题软件 文末有联系方式 注明来意 我发现大家对考Python计算机二级都比较感兴趣 也有一些疑问 对于考证这个问题我简单说一下我的经验 python二级其实很容易通过 考试题题库是前九年真题加一套新题 你会遇到90 的原题 只要考前三天练
  • linux下搭建SVN遇到authentication failed问题的解决方法

    之前由于要管理项目组的文档 所以就想在linux下搭建一个svn平台 于是我就在网上找资料 并按照步骤搭建了一个SVN 结果老是出现一个authentication failed的错误 经过一个下午的努力 终于让我找出了错误的原因 一个非常