当前位置: 首页 > 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.xdnf.cn/news/1123921.html

相关文章:

  • HarmonyOS从入门到精通:动画设计与实现之九 - 实用动画案例详解(下)
  • Redis作缓存时存在的问题及其解决方案
  • mysql 与redis缓存一致性,延时双删 和先更新数据库,再删除缓存,哪个方案好
  • 《Librosa :一个专为音频信号处理和音乐分析设计的Python库》
  • Pythonic:Python 语言习惯和哲学的代码风格
  • Kubernetes 高级调度01
  • STM32F1_Hal库学习UART
  • 破局与重构:文心大模型开源的产业变革密码
  • Java-ThreadLocal
  • java基础(day07)
  • 打开xmind文件出现黑色
  • 【LeetCode 热题 100】94. 二叉树的中序遍历——DFS
  • 13.计算 Python 字符串的字节大小
  • SpringMVC2
  • 鸿蒙开发NDK之---- 如何将ArkTs的类型转化成C++对应的类型(基础类型,包含部分代码解释)
  • 修改主机名颜色脚本
  • 虚拟货币交易:游走在合法与犯罪的生死线
  • 在Adobe Substance 3D Painter中,已经有基础图层,如何新建一个图层A,clone基础图层的纹理和内容到A图层
  • Java:继承和多态(必会知识点整理)
  • 【React Natve】NetworkError 和 TouchableOpacity 组件
  • Python 基础语法2:组合数据类型、异常
  • 【深度学习框架终极PK】TensorFlow/PyTorch/MindSpore深度解析!选对框架效率翻倍
  • JavaScript中Object.defineProperty的作用和用法以及和proxy的区别
  • SSM框架学习——day1
  • Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛
  • AI Linux 运维笔记
  • Imx6ull用网线与电脑连接
  • 使用 pytest 测试框架构建自动化测试套件之一
  • ethers.js-5–和solidity的关系
  • pytorch学习1(DataSet+Transforms+TensorBoard)