当前位置: 首页 > news >正文

群晖Nas - Docker(ContainerManager)上安装SVN Server和库权限设置问题

上次安装了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.dtcms.com/a/278381.html

相关文章:

  • 力扣 hot100 Day44
  • 【第六节】docker可视化工具portainer安装
  • 【小白量化智能体】应用5:编写通达信股票交易指标及生成QMT自动交易Python策略程序
  • VR全景制作流程?什么是全景?
  • 从欧洲杯初现到世俱杯之巅:海信冰箱的“保鲜传奇”
  • 从零构建搜索引擎 build demo search engine from scratch
  • Javaweb使用websocket,请先连上demo好吧!很简单的!
  • Android系统的问题分析笔记 - Android上的调试方式 bugreport
  • Android展示加载PDF
  • 图机器学习(1)——图论基础
  • android tabLayout 切换fragment fragment生命周期
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | GithubProfies(GitHub 个人资料)
  • 如何改变音乐的音质kbps和采样率hz
  • HTML面试题
  • [spring6: Resource ResourceLoader]-加载资源
  • (三)OpenCV——图像形态学
  • 【算法深练】BFS:“由近及远”的遍历艺术,广度优先算法题型全解析
  • ubuntu透网方案
  • 多客户端-服务器(select,poll)
  • 使用 keytool 在服务器上导入证书操作指南(SSL 证书验证错误处理)
  • Linux的相关学习
  • 20250714-day15
  • imx6ull-系统移植篇4——U-Boot 工程目录分析
  • ubuntu之坑(十八)——XML相关
  • 【机器学习深度学习】Ollama vs vLLM vs LMDeploy:三大本地部署框架深度对比解析
  • MIPI DSI (一) MIPI DSI 联盟概述
  • 智能Agent场景实战指南 Day 12:医疗咨询Agent设计模式
  • Python与MongoDB深度整合:异步操作与GridFS实战指南
  • Apache-web服务器环境搭建
  • 前端开发中的常见问题及解决方案