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

Ubuntu部署svn1.14.3及权限控制

1:先sudo apt update 执行更新repo源

2:sudo apt install -y subversion 使用apt安装 Subversion

3:安装完成后执行svnserve --version查看安装的版本

4:创建svn仓库

目录自己定义

创建svn仓库svnadmin create /process/svn/repositories/test_1_svn(这个可自定义)

5:把这个目录下的file权限给到svn:svn 如果没svn user可以新建

我这是部署测试,实际操作svn要给一个权限较高的user,防止被别人误操作。

groupadd svn useradd -g svn -m -s /bin/bash svn

解释

参数含义
groupadd svn创建svn用户组
useradd -g svn创建svn用户,并加入svn
-m同时创建用户的家目录/home/svn
-s /bin/bash指定用户的登录 Shell 为 bash

创建完svn user后递归给权限

chown -R svn:svn process/svn/repositories/test_1_svn

chmod -R 770 process/svn/repositories/test_1_svn

6:下面开始配置svn仓库的权限

配置文件在: process/svn/repositories/test_1_svn/conf

  • conf目录:SVN版本库的配置文件,版本库的访问账户、权限等
  • db目录:存放所有版本控制的数据存放文件。
  • format文件:一个文本文件,文件中只包含一个整数,表示当前文件库配置的版本号。
  • hooks目录:放置hook脚本文件的目录。
  • locks目录:用来追踪存取文件库的客户端。

authz:模板里定义「用户 / 用户组」对仓库不同目录的读写权限,精准控制谁能看、谁能改

passwd:存储所有 SVN 登录用户名 + 明文密码(老版本 svnserve 为明文)

svnserve.conf:(SVN 服务主配置文件,核心开关)

authz和passwd可以参考配置,权限的大小取决authz里怎么写的

rw:读写权限。

r:只读权限。

*:表示所有其他用户

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

realm = /process/svn/repositories/test_1_svn

7:配置完权限可以启动服务了

svnserve -d -r /process/svn/repositories/

  • -d:daemon 后台守护进程模式,开机 / 执行后后台常驻,不占用当前终端
  • -r:指定 SVN 仓库根目录,客户端访问时不用写完整长路径,直接svn://服务器IP/test_1_svn就能访问仓库

ps -ef | grep svnserve

现在发现修改完配置文件(zuthz和passwd)后服务应该是实时更新的,自动读取配置文件

8:配置svn开机自启动

编辑:/etc/rc.d/rc.local

echo "svnserve -d -r /process/svn/repositories" >> /etc/rc.d/rc.local

chmod +x /etc/rc.d/rc.local

9:配置防火墙

ufw allow 3690/tcp

ufw reload

这样就可以从Local和远程ip测试svn是否正常了

svn list svn ://local

svn list svn ://ip/目录

http://www.gsyq.cn/news/1612580.html

相关文章:

  • E-Hentai下载器终极指南:三步完成画廊图片批量打包下载
  • 数存科技 × 银河麒麟 V11|全栈适配・全域安全
  • 3分钟掌握AutoTask:安卓自动化神器终极指南
  • Outfit字体:现代品牌视觉系统的几何美学革命
  • Python测试框架终极对决:unittest与pytest深度对比与选型指南
  • 电脑智能操控工具 OpenClaw 安装教学,含完整排错步骤(含安装包)
  • Kubernetes Pod 网络策略与安全隔离
  • 手把手教你用Stellar Toolkit for File Repair 2.2.0修复损坏的Word/Excel/PPT文件(附PDF修复)
  • 第四届【AI创新先锋—2026中国AI产业创新先锋榜单】正式发布!
  • 告别命令行!用JGit在Java项目里优雅地操作Git(附完整代码示例)
  • 别再手动调阈值了!用OpenCV直方图找谷底,5行代码搞定图像自动分割
  • 如何快速获取网盘直链下载地址:LinkSwift下载助手终极指南
  • QT常用控件篇(3)(上)
  • 淘宝拍立淘图片搜索API完整文档
  • 无犯罪记录公证书需要什么材料?无犯罪记录公证多久拿到?
  • Web应急响应实战:从入侵排查到溯源加固的完整指南
  • 基础控件的信号:
  • 哑光亮调lr预设|高级哑光柔焦人像写真Lightroom下载lr调色风格
  • 靠谱的装修公司哪家专业
  • AI代理运行时解耦:会话即事件日志的工程实践
  • Codex客户端插件推荐:TOP 10 插件盘点,新手和开发者都值得收藏
  • Codex客户端必备插件TOP10推荐:系统自动化、Figma、GitHub、PPT一站式搞定(2026最新版)
  • 日用五金注塑模具,性价比真的能打吗?
  • DCMTK深度解析:医疗影像开发的完整解决方案实战指南
  • FanControl深度解析:打造Windows系统智能散热控制方案
  • AD复位原理图UniqueID的方法(解决原理图导入PCB,元器件位置错乱的方法)
  • 国内专业小程序开发公司盘点:2026十家高口碑小程序制作公司全方位梳理
  • Outfit字体完整指南:9种字重免费开源,打造专业品牌视觉体验
  • RTKPLOT可视化分析实战:从观测值文件到天空图,手把手教你分析GNSS数据
  • 保姆级教程:用Excel搞定K7 FPGA板级电源功耗评估(附XPE表格与SUMPRODUCT函数用法)