Ubuntu22.0.4安装svn服务
1、检查是否已安装
1.1、检查是否已安装
svnserve --version
1.2、删除SVN遗留文件
sudo apt-get remove --purge subversion
2、安装svn
apt-get install subversion
3、新建存储目录
sudo mkdir /data/svn
sudo mkdir /data/svn/repository
4、更改文件夹的读写权限
sudo chmod -R 777 /data/svn/repository
5、创建SVN版本库
sudo svnadmin create /data/svn/repository
6、赋予db权限
cd /data/svn/repository
sudo chmod -R 777 db
7、配置SVN-认证机制
cd /data/svn/repository/conf
sudo vim svnserve.conf
简单的修改几处配置:(去掉前面的#,并且顶格,不然可能会报错)
- 匿名用户可读anon-access = read(可改成none,即不可读)
- 权限用户可写auth-access = write
- 密码文件为password-db = passwd
- 权限文件为authzauthz-db = authz
配置项含义:
anon-access = none|read|write 决定非授权用户的访问级别。none 表示无访问权限,read 表示只读,write 表示可读可写,默认为 read。
auth-access = none|read|write 决定授权用户的访问级别,使用与上面相同的访问级别。默认为 write。password-db = filename 指定账号密码数据库文件名。filename 是相对仓库中 conf 目录的位置,也可以设置为绝对路径,默认为passwd。authz-db = filename 指定权限配置文件名,filename 是相对仓库中 conf 目录的位置,也可以设置为绝对路径,默认为authz。realm = realm-name 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的账号密码数据库文件passwd。
8、配置SVN-用户权限
sudo vim authz
8.1、直接用户权限
[/] //所有项目
user1 = rw
user2 = rw
* = r //所有的组都具有读权限
8.2、用户组
[groups]
admin =user1,user2 //admin用户组由账户user1,user2组成[/] //所有项目
@admin = rw //admin用户组具有读(r)写(w)权限
* = r //所有的组都具有读权限
8.3、多项目管控
- 创建项目
cd /data/svn
svnadmin create p1
svnadmin create p2
- 创建管理用户权限
cd /data/svn/repository/conf
mkdir -p /data/svn/conf
cp authz passwd /data/svn/conf/
- 修改p1的svnserve.conf文件:
anon-access = noneauth-access = write password-db = /data/svn/conf/passwd authz-db = /data/svn/conf/authz realm = p1
修改p2的svnserve.conf文件:
anon-access = noneauth-access = write password-db = /var/svn/conf/passwd authz-db = /var/svn/conf/authz realm = p2
- 修改password文件
sudo vim passwd
[users]
a= 123
b= 123
c= 123
d= 123
- 修改authz文件
[groups] //分组p1user = a,bp2user = c,d[/]* = #以上没有定义的用户都没有任何权限
[p1:/] //p1的访问控制,c、d无法访问@p1user = rw[p2:/] //p2的访问控制,a、b无法访问@p2user = rw
配置SVN-访问用户
sudo vim passwd
设置密码
[users]
user1 = 123
user2 = 123
启动服务器
启动地址为仓库/home/svn/repos的上级目录/home/svn。
svnserve -d -r /data/svn
查看svnserve是否已经运行
ps aux | grep svnserve
关闭服务
killall svnserve
访问
单项目
svn://ip地址/repository
多项目
访问项目p1 URLsvn://IP/p1访问项目p2 URLsvn://IP/p1
相关文章:
Ubuntu22.0.4安装svn服务
1、检查是否已安装 1.1、检查是否已安装 svnserve --version1.2、删除SVN遗留文件 sudo apt-get remove --purge subversion2、安装svn apt-get install subversion3、新建存储目录 sudo mkdir /data/svn sudo mkdir /data/svn/repository4、更改文件夹的读写权限 sudo…...
GNSS边坡位移监测仪在自然灾害应急能力提升工程领域的应用
GNSS边坡位移监测仪在自然灾害应急能力提升工程领域的应用 二、工作原理 GNSS的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星…...
k8s客户端配置
K8s客户端安装 前提 K8s服务部署成功,如下 角色 IP地址 操作系统 主机名 Kubernetes版本 master节点 172.16.4.167 CentOS 7.9 k8s-master01 v1.28.2 工作节点1 172.16.4.168 CentOS 7.9 k8s-worker01 v1.28.2 工作节点2 172.16.4.169 CentOS 7.9…...
网络套接字编程
1.基础预备知识 1.1源ip和目的ip 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址 源IP地址表示发起通信的设备的IP地址。它是数据包的出发点,标识了数据包的来源。当一个设备发送数据包到网络上的其他设备时,该数据包的源IP字段会被…...
Node编写更新用户信息接口
目录 前言 定义路由和处理函数 验证表单数据 实现更新用户基本信息的功能 前言 继前面几篇文章,本文介绍如何编写更新用户信息接口 定义路由和处理函数 路由 // 更新用户信息接口 router.post(/userinfo, userinfo_handler.updateUserinfo) 处理函数 // 导…...
Delphi解决 openssl DLL 与 Indy 的SSL/TLS 连接问题
昨天,突然间,我的一个 Delphi 程序无法连接到互联网上的各种WMS服务器。我收到以下错误消息: 使用 SSL 连接时出错。错误 1409442E:SSL 例程:ssl3_read_bytes:tlsv1 警报协议版本 由于我使用的是最新版本…...
单片机仿真设计打包项目
小伙伴们在仿真设计时会遇到各种各样的问题,网上的资料可能不全或者很贵。 这篇也不单纯为了打广告,主要是希望实实在在帮到学单片机的同学,大家不要一有问题就各种找dai zuo,做的好不好是一回事儿,关键是它费&#x…...
Java练习题-输出二维数组对角线元素和
✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:Java练习题 💬个人格言:不断的翻越一座又…...
Python调用ctype的动态库时出现的问题记录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、动态库调用问题1.问题发现2.解决问题 总结 前言 提示:这里可以添加本文要记录的大概内容: 之前用公司算法同事写的c算法编译成的d…...
面试算法38:每日温度
题目 输入一个数组,它的每个数字是某天的温度。请计算每天需要等几天才会出现更高的温度。例如,如果输入数组[35,31,33,36,34],那么输出为[3,1,1,0ÿ…...
流程控制语句中的顺序结构、分支结构和循环结构以及示例和详细代码解释为什么这样写(1)
在流程控制语句中,我们通常可以将其分为三种基本结构:顺序结构、分支结构和循环结构。 1. 顺序结构:顺序结构是最简单的流程控制结构,代码按照编写的顺序依次执行,没有条件或循环的干扰。下面是一个顺序结构的示例代码…...
MFC Windows 程序设计[334]之自定义编辑框(附源码)
MFC Windows 程序设计[334]之自定义编辑框 程序之美前言主体运行效果核心代码逻辑分析结束语程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Wind…...
MOS管特性及其几种常用驱动电路详解,电子工程师手把手教你
在电子工程中,MOS管(金属氧化物半导体场效应管)是一种非常重要的半导体元件。 在这篇文章中,我们将深入探讨MOS管的特性,以及几种常用的驱动电路的工作原理和设计方法。无论你是初学者还是经验丰富的电子工程师&#…...
C#,数值计算——分类与推理Phylo_wpgma的计算方法与源程序
1 文本格式 using System; using System.Collections.Generic; namespace Legalsoft.Truffer { public class Phylo_wpgma : Phylagglom { public override void premin(double[,] d, int[] nextp) { } public override double dminfn(double…...
Spring MVC 常用的注解
Controller:用于将一个类标记为 Spring MVC 控制器,处理 HTTP 请求和生成 HTTP 响应。RestController:类似于 Controller,但返回的数据会被自动转换为 JSON 或 XML 格式,通常用于构建 RESTful API。等于Controller Re…...
winodos下使用VS2022编译eclipse-paho.mqtt.c并演示简单使用的 demo
本文演示C语言如何使用eclipse-paho.mqtt.c库,包含自行编译库的步骤或者下载编译好的文件。 1.下载paho.mqtt.c库源码(zip 文件) 到官网选择C版本的paho源码进行下载 Eclipse Paho | The Eclipse Foundation 或者到下述连接下载 Releases ec…...
【Java 进阶篇】使用 Java 和 Jsoup 进行 XML 处理
XML(可扩展标记语言)是一种常用的数据交换格式,它被广泛用于在不同系统之间传递和存储数据。Java作为一种强大的编程语言,提供了多种方式来处理XML数据。其中,Jsoup 是一个流行的Java库,用于解析和操作XML文…...
QT图形视图框架绘制曲线图和Smith图
QT图形视图框架绘制曲线图和Smith图 QGraphicsView是Qt框架中的一个图形视图部件,用于显示和处理2D图形元素。它提供了强大的工具来创建交互式和自定义的图形应用程序。在绘制折线图和Smith图时,使用QGraphicsView有以下一些优点: 交互性&am…...
0032【Edabit ★☆☆☆☆☆】【每秒帧数】Frames Per Second
0032【Edabit ★☆☆☆☆☆】【每秒帧数】Frames Per Second algorithms language_fundamentals math numbers Instructions Create a function that returns the number of frames shown in a given number of minutes for a certain FPS. Examples frames(1, 1) // 60 fra…...
【LeetCode】1423 可获得的最大点数(中等题)
【题目描述】 几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。 每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。 你的点数就是你拿到手中的所有卡牌的点数之和。 给你一个整数…...
FOSUserBundle配置参考:所有参数详解与最佳配置方案
FOSUserBundle配置参考:所有参数详解与最佳配置方案 【免费下载链接】FOSUserBundle Provides user management for your Symfony project. Compatible with Doctrine ORM & ODM, and custom storages. 项目地址: https://gitcode.com/gh_mirrors/fo/FOSUserB…...
如何使用Aimeos构建高效产品目录:从基础商品到复杂配置型产品的完整指南
如何使用Aimeos构建高效产品目录:从基础商品到复杂配置型产品的完整指南 【免费下载链接】aimeos Integrated online shop based on Laravel 10 and the Aimeos e-commerce framework for ultra-fast online shops, scalable marketplaces, complex B2B application…...
Curated Programming Resources的未来发展:AI时代编程学习资源的新趋势
Curated Programming Resources的未来发展:AI时代编程学习资源的新趋势 【免费下载链接】curated-programming-resources A curated list of resources for learning programming. 项目地址: https://gitcode.com/gh_mirrors/cu/curated-programming-resources …...
终极指南:如何用qmc-decoder轻松解锁QQ音乐加密文件
终极指南:如何用qmc-decoder轻松解锁QQ音乐加密文件 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经从QQ音乐下载了喜爱的歌曲,却发现只能…...
tinyECC:Arduino嵌入式平台的轻量级ECC密码库
1. tinyECC 库概述:面向 Arduino 微控制器的轻量级椭圆曲线密码学实现tinyECC 是一个专为资源受限的 Arduino 微控制器平台设计的嵌入式椭圆曲线密码学(Elliptic Curve Cryptography, ECC)库。其核心目标是在仅有几 KB RAM 和数十 KB Flash 的…...
别再手动装依赖了!ROS 2 Humble/Foxy下用rosdep一键搞定工作空间所有包的依赖安装
别再手动装依赖了!ROS 2 Humble/Foxy下用rosdep一键搞定工作空间所有包的依赖安装 "又报错了?缺少libxxx-dev?"——这可能是ROS 2开发者最常遇到的崩溃瞬间。当你在深夜赶项目,colcon build却因为缺失依赖而中断时&…...
除了当图床,Cloudflare R2的S3 API还能这么玩?Python脚本批量管理文件实战
解锁Cloudflare R2的S3 API潜能:Python自动化文件管理实战 Cloudflare R2作为兼容S3 API的对象存储服务,其应用场景远不止搭建图床这么简单。对于开发者而言,R2提供的S3兼容接口意味着可以将其无缝集成到各种自动化工作流中。本文将带你探索如…...
VR视频转换:让3D内容在普通设备焕发新生的开源方案
VR视频转换:让3D内容在普通设备焕发新生的开源方案 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mirro…...
用ESP32和Arduino打造你的专属F1蓝牙方向盘(附完整3D打印文件)
用ESP32和Arduino打造你的专属F1蓝牙方向盘(附完整3D打印文件) 模拟赛车爱好者们对沉浸式体验的追求从未停止,而一款高度定制化的F1风格方向盘往往是提升操控感的关键。本文将带你从零开始,利用ESP32开发板和Arduino生态ÿ…...
量化交易框架VectorBT:重新定义金融策略开发的高性能方法论
量化交易框架VectorBT:重新定义金融策略开发的高性能方法论 【免费下载链接】vectorbt Find your trading edge, using the fastest engine for backtesting, algorithmic trading, and research. 项目地址: https://gitcode.com/gh_mirrors/ve/vectorbt Ve…...
