上次安装了Gitlab,可以参考这篇(群晖Nas - Docker(ContainerManager)上安装GitLab),今天来搞SVN服务器,废话不多说。

下载镜像

还是先下载镜像(garethflowers/svn-server),下载不了看上一篇Gitlab的文章。

在这里插入图片描述
下载完毕后,运行。

运行安装

在这里插入图片描述
容器名字好了后,下一步

在这里插入图片描述
这里我创建了一个共享文件夹专门放SVN库,对应映射路径是/var/opt/svn
端口号自定义。
然后下一步,完成。

创建库

结束后可以在运行的实例上右键鼠标点击打开终端机。

在这里插入图片描述
我们运行命令,点击新增,通过命令启动
在这里插入图片描述
然后在输入框里输入

svnadmin create /var/opt/svn/newgame

这里newgame就是库的名字。然后点击这个svnadmin按钮。

在这里插入图片描述
这里只有光标闪,看不到提示。
当你看到文件夹有数据了就创建成功了。
在这里插入图片描述

SVN项目配置

通常可以在每个库里面有个conf目录,里面可以配置用户等。
在这里插入图片描述

这里我们先说通常对于库如何设置,后面有针对多个库共享的方法。

svnserver.conf

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

anon-access是匿名用户,我们不希望访问
auth-access-登录用户我们希望write
password-db用户的密码文件路径,通常是本目录的passwd文件
authz-db详细的库设置。

全部库采用统一设置

如果所有库都要配置一次哪些人可以访问有时不方便,特别是需要建立一个人可以访问所有库,其实也很简单。
配置文件中我们可以输入路径
在上面创建库完成的截图中,我在库的根目录放了一个authz和passwd文件。
我统一在这里设置。让所有库都按照这个配置来决定用户权限。

我们使用绝对地址来读取相同文件就可以了。

password-db = /var/opt/svn/passwd
authz-db = /var/opt/svn/authz

SVN拉取项目

拉取地址为:

svn://192.168.3.18/newgame

在这里插入图片描述

关于authz的配置

authz通常可以配置组,每个组的访问权限等。
下面是个示例:

### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
###  - a single user,
###  - a group of users defined in a special [groups] section,
###  - an alias defined in a special [aliases] section,
###  - all authenticated users, using the '$authenticated' token,
###  - only anonymous users, using the '$anonymous' token,
###  - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').[/]
@dqmj=rw[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
dqmj=thinbug,liutao# [/foo/bar]
# harry = rw
# &joe = r
# * =[decode:/]
@dqmj = rw
# * = r[newgame:/]
@dqmj = r
# * = r

我们看到dqmj是一个组名,包含了两个用户ID,
后面的[decode:/]和[newgame:/]是两个库,对应这两个组的权限。

设置更详细的目录权限
如下:我们设定newgame里的这个路径只有dqmj的可以提交,组group2的无权拉取访问。

[newgame:/Project/DecodeUnity/Assets/ResAll/Scenes]
@dqmj = rw
@group2=

其他说明

SVN的authz和passwd修改后不用重启,直接生效的。

这里没有说http如何访问svn的问题,这个镜像本身不带http,因为使用的人比较多就采用的这个镜像。
后面有空了再补充文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91319.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91319.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/91319.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端打包自动压缩为zip--archiver

安装依赖 pnpm add archiver types/archiver/vitePlugins/autoBuildZip.ts import { Plugin } from vite; import archiver from archiver; import fs from fs;const compressFolder (folderPath: string, outputFilePath: string) > {const output fs.createWriteStream(…

React响应式组件范式:从类组件到Hooks

​引言 在UI开发中,"状态变化自动触发UI更新"的响应式机制是构建动态界面的核心。React通过独特的​​单向数据流​​和​​虚拟DOM(Virtual DOM)​​ 实现这一目标,但类组件(Class Components)…

com2tcp工具

com2tcp 是 com0com 套件中的一个实用工具,用于将本地串口(COM)数据转发到 TCP/IP 网络,或者将 TCP/IP 数据转发到本地串口,实现串口数据的网络透传。 1. com2tcp 基本用法 (1)安装 com0com 从…

MySQL实操:将Word表格数据导入MySQL表

文章目录 1. 提出任务1.1 Word表格数据1.2 查看商品空表1.3 任务要求2. 完成任务2.1 借助AI2.1.1 利用AI生成SQL语句2.1.2 在Navicat里执行查询2.1.3 查看商品表记录2.2 借助Excel2.2.1 将Word表格数据复制到Excel2.2.2 新建商品表2.2.3 利用导入向导将电子表格数据导入商品表2…

什么是Podman?能否替代Docker?Podman快速入门

什么是PodmanPodman(POD Manager)是一个开源的无守护进程(daemonless)容器引擎,用于管理容器、容器镜像、容器卷和网络。它兼容 OCI 标准,可以运行 Docker 镜像,并且设计上与 Docker CLI 命令高…

开通保存图片权限

直接粘贴就可以用 上干货 可以的话希望点个start/* 小程序特有相关 */mp-weixin: {appid: VITE_WX_APPID,setting: {urlCheck: false,minified : true //是否压缩js},usingComponents: true,"lazyCodeLoading": "requiredComponents", //按需注入"pe…

【赵渝强老师】大数据交换引擎Sqoop

Sqoop是SQL To Hadoop的简称,它是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(Oracle、MySQL等)间进行数据的传递。通过使用Sqoop可以将一个关系型数据库中的数据导进到Hadoop的HDFS中&#xff0…

C++进阶-map的应用

目录 1.预备知识 2.map的补充知识 2.1map的插入方式 2.2访问键和值 2.3map::operator[]的补充 2.4另外一些map的成员函数的补充 3.map的应用实践-力扣刷题-前k个高频单词 3.1解法1 3.2解法2 3.3解法3 4.map的应用实践-力扣刷题-随机链表的复制 4.1C语言解法 4.2C解…

【三维重建工具】NeRFStudio、3D GaussianSplatting、Colmap安装与使用指南

目录 一、NeRFStudio安装1.安装(ubuntu系统)2.安装(windows系统) 二、安装tinycudann三、Colmap安装与使用1. 安装依赖2. 安装colmap3.使用colmap3.1 可视化界面使用3.2 Nerfstudio命令行调用Colmap3.3 colmap结果不准时的修复3.4…

Mybatis05-动态sql

一、应用场景MyBatis 的 动态 SQL 是指根据不同的条件动态拼接生成 SQL 语句的能力。它的最大优势是:避免写多个 XML 映射语句、避免 SQL 冗余、提升代码复用性和可维护性。示例1:用户可以通过勾选框,勾选不同的数据进行批量删除,…

VSCODE 选中多行 需要同时按住alt键才可以

在 VS Code 中,如果你发现 必须按住 Alt 键才能选中多行(即“列选择”或“块选择”模式),而直接拖动鼠标无法多选,可能是由于以下原因导致的:1. 检查是否启用了“列选择模式”VS Code 默认情况下&#xff1…

2025前端面试真题以及答案-不断整理中,问题来源于牛客真题

一、 项目内存泄露react与vue的渲染机制有哪些不同react fiber架构vue2与3,为什么用proxy代替defineproperty性能优化有哪些三栏布局实现方式重排与重绘一个对话聊天框如何减少重排(我回答的是绝对定位,将聊天框定位在下面,类似于…

雷军的 IP 革命:人格化力量如何重塑商业规则|创客匠人

小米 YU7 发布会 3 分钟售罄 20 万台的奇迹,撕开了一个时代真相:当商业竞争进入深水区,决定胜负的不再是产品参数,而是创始人 IP 的人格穿透力。雷军仅凭个人影响力撬动数十亿级交易,这绝非偶然,而是人格化…

SpringBoot3:应对C10K并发挑战的优化指南

嘿,哥们!还在为服务的并发量上不去而头疼吗?用户量一上来,CPU、内存就告急,接口响应慢得像蜗牛?别慌,今天我们就来盘一盘,怎么用最新的Spring Boot 3,把服务性能调教到极…

响应式编程入门教程第三节:ReactiveCommand 与 UI 交互

响应式编程入门教程第一节:揭秘 UniRx 核心 - ReactiveProperty - 让你的数据动起来! 响应式编程入门教程第二节:构建 ObservableProperty<T> — 封装 ReactiveProperty 的高级用法 响应式编程入门教程第三节&#x…

500+技术栈覆盖:Web测试平台TestComplete的对象识别技术解析

在用户界面(UI)测试领域,传统的测试工具往往依赖于XPath或CSS选择器来定位页面元素。然而,在面对动态变化的界面、多语言支持或是跨越多种技术框架的应用时,这些传统方法常导致脚本失效,增加了维护成本。 …

研究人员利用提示注入漏洞绕过Meta的Llama防火墙防护

Trendyol应用安全团队发现了一系列绕过技术,使得Meta的Llama防火墙在面对复杂的提示注入攻击时防护失效。这一发现引发了人们对现有大语言模型(LLM)安全措施准备情况的担忧,并凸显出在企业日益将大语言模型嵌入工作流程时&#xf…

Shell 脚本系统学习 · 第5篇:多命令顺序执行的三种方式详解(`;`、``、`||`)

在日常的 Linux 运维与脚本编写中,我们经常需要依次执行多条命令。本篇将带你彻底搞懂三种命令顺序执行方式:;、&& 和 ||,并通过实用示例掌握它们的区别与应用场景。一、为什么要了解多命令执行方式? 在实际运维或脚本编写…

K8s存储系统(通俗易懂版)

Kubernetes中存储中有四个重要的概念:Volume、PersistentVolume PV、PersistentVolumeClaim PVC、StorageClass一、存储系统核心概念Volume(卷)定义:Kubernetes 中最基础的存储单元,用于将外部存储挂载到 Pod 中的容器…

小白学Python,标准库篇——随机库、正则表达式库

一、随机库1.随机生成数值在random库中可以随机生成数值的方法有uniform()、random()、randint()、randrange()等。(1)uniform()方法uniform(参数1, 参数2)方法用于生成参数1到参数2之间的随机小数,其中参数的类型都为数值类型。示例代码&…