TortoiseSVN使用-授权访问

news2024/12/25 23:35:37

在这里插入图片描述

文章目录

        • 3.4.6 授权访问

3.4.6 授权访问

总结:

  • 如果是匿名访问(就是不用输入用户名+密码的访问方式),请只开启anon-access = write
  • 如果授权访问,请先设置anon-access = none,然后打开3个:auth-access = write、password-db = passwd、authz-db = authz

注意:必须设置anon-access = none,否则会代码提交报错失败。

①要设置授权访问就需要创建用户,并为用户设定权限

打开授权访问的配置

[1]打开 D:\DevRepository\Subversion\CRM\conf\svnserve.conf (svnserve.conf文件: 核心配置文件)

在这里插入图片描述

在这里插入图片描述

[2]将第 19 行 anon-access = write 注释掉:# anon-access = write

表明该版本库不接受匿名访问

[3]将第 20 行# auth-access = write 注释打开:auth-access = write

表明该版本库使用授权访问

[4]将第 27 行注释打开:password-db = passwd

表明使用同目录下的 passwd 文件保存用户信息

[5]将第 36 行注释打开:authz-db = authz (authz文件: 权限认证相关)

[6]打开 passwd 文件创建用户 (passwd文件: 用户密码相关)

tom = 123456
jerry = 123456
nick = 123456
tester = 123456

在这里插入图片描述

[7]打开 authz 文件:#后面注释的是例子

在这里插入图片描述

[/]表示该仓库下的所有路径

[CRM:/oneLayer/1]中CRM为仓库名,表示该仓库下的“/oneLayer/1”路径

@developer= rw 表示developer该组的所有成员访问权限为可读可写,设置组权限需要用@符号表示,而直接设置用户权限则不需要添加@

[CRM:/oneLayer/1]

jerry = rw,表示jerry 用户只拥有CRM仓库下/oneLayer/1路径下的所有读写权限访问权限,而/oneLayer/1前面的路径则没有访问权限

*= 因为后面没有写访问权限,所以表示其他人没有访问权限

<1>创建用户组

[groups] 
# harry_and_sally = harry,sally 
# harry_sally_and_joe = harry,sally,&joe 
@developer = rw

<2>指定路径,给用户和用户组授权

# [/foo/bar] 
# harry = rw 
# &joe = r 
# * =屏蔽那些未设定的用户,让它们没有任何权限 
[/]
@developer = rw
tester = r
* =
[CRM:/oneLayer/1]
jerry = rw

[CRM:/oneLayer/2]
nick = rw

<3>权限的继承性:父目录设置的权限,对子目录同样有效——除非子目录进行 了更为具体的设定(这个没验证过,需博主自己验证下)

[/subDir] 
userOther = rw 
* = 

这个例子表示当前版本库下的 subDir 目录只有 userOther 有读写权限,其它用户 无任何权限

模拟登录tom用户,验证能否提交成功。答案是可以提交。

在这里插入图片描述

模拟登录测试用户tester,验证能否提交成功。答案是不可以提交,因为权限不够。

在这里插入图片描述

在这里插入图片描述

做一个小测验,需求:假设我的项目结构如图,假设每一个包含text.txt的文件夹都是一个真实的项目,且存在多层级结构,我现在想实现tom用户具有CRM路径(目前CRM路径就是SVN的某一仓库的根目录)下的所有读写访问权限,而jerry用户只CRM/oneLayer/1路径下的读写权限,而nick用户只有CRM/oneLayer/2路径下的读写权限,而tester测试用户只有读权限没有写权限。

  • 这个项目想模拟的就是新建的tom用户具有管理员权限,jerry和nick用户只有部分路径的访问读写权限,而测试用户只有读没有写的权限。对应的真实场景就是:我自己搭建了SVN,我自己创建管理员账户并授权,但是新建别的用户我想控制权限,让他们只有自己项目的访问权限,而别人的项目没有拉取代码的权限,想演练下如何实现。

在这里插入图片描述

  • 前提说明:目前CRM路径就是SVN的某一仓库的根目录,就是对应auth配置文件中的[/]

  • passwd文件

    tom = 123456
    jerry = 123456
    nick = 123456
    tester = 123456
    
  • auth文件

    [groups]
    # 控制新增用户权限
    [/]
    @developer = rw
    tester = r
    * =
    [CRM:/oneLayer/1]
    jerry = rw
    
    [CRM:/oneLayer/2]
    nick = rw
    
  • 演练场景1,验证tom用户能否checkout下载/CRM/oneLayer/1下的项目oneLayerProject,如图,答案是可以成功下载,说明它拥有/路径下的所有权限。

在这里插入图片描述

  • 演练场景2,验证nick用户能否checkout下载/CRM/oneLayer/2下的项目twoLayerProject,如图,答案是可以成功下载,说明它拥有/oneLayer/2路径下的所有权限。

在这里插入图片描述

  • 演练场景3,验证nick用户能否checkout下载/CRM/oneLayer/1下的项目oneLayerProject,如图,答案是不可以成功下载,说明它没有/oneLayer/1路径下的所有权限。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ “类与对象”

类与对象的概念 类相当于是结构体的声明&#xff0c;是结构体的设计图&#xff0c;而对象是利用设计图的创造的产物. &#xff08;1&#xff09;.类的大小计算 类的大小计算时与结构体类似&#xff0c;但函数是不计入大小的&#xff08;函数放在单独的公共空间&#xff09;. 在…

贝叶斯学习(Bayesian Learning)提高篇

Advanced Bayesian Learning 前言Review Bayes Optimal ClassifierNaive Bayes Classifier这里其实不太懂ExampleLaplace smoothing加完之后原数据的比例会发生变化分子1&#xff0c;如何确定分母的加数 Naive Bayes for Document Classi cationProblem statementDocument repr…

C语言猜数字小游戏

今天&#xff0c;我们来写一个猜数字小游戏&#xff0c;这个游戏的大致规则如下&#xff1a;&#x1f447; 1.电脑会随机生成一个数1~100 2.猜数字 a> 猜大了&#xff0c;提醒猜大了&#xff0c;继续猜 b> 猜小了&#xff0c;提醒猜小了&#xff0c;继续彩 c> 猜对了&…

Windows下版本控制器(SVN)-启动服务器端程序

文章目录 3.3 启动服务器端程序 3.3 启动服务器端程序 ①SVN 服务器必须处于运行状态才能响应客户端请求&#xff0c;帮助我们管理项目文件。 所以我们必须将 SVN 服务器启动起来。启动 SVN 服务器有两种方法&#xff0c;一个是命令 行方式&#xff0c;一个是注册 Windows 服务…

基于容器平台 ACK 快速搭建 Stable Diffusion

作者&#xff1a;子白 本文介绍如何在阿里云容器平台 ACK 上快速搭建一套可对外提供服务的 Stable Diffusion。 CPU 版本 前提条件 已创建 Kubernetes 托管版集群。具体操作&#xff0c;请参见创建 Kubernetes 托管版集群[1]。 &#x1f4cd;无需 GPU&#xff0c;节点需要…

数据库系统概论--第三章课后习题

1.试述SQL的特点。 答:SQL有以下特点: ①综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一性,查找、插入、删除、更新等每一种操作都只需一种操作…

NestJS(1)初识 NestJS 和 Hello, World

初识 NestJS 先来看下官网对 NestJS 的介绍。 Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架。它利用 JavaScript 的渐进增强的能力&#xff0c;使用并完全支持 TypeScript &#xff08;仍然允许开发者使用纯 JavaScript 进行开发&#xff…

YARN On Mapreduce搭建与wordCount案例实现

文章目录 1.前言1.YARN 集群搭建1.1 ResourceManager High Availability 架构图1.2 配置文件mapred-site.xmlyarn-site.xml 1.3 启动服务和rm启动yarn启动rm资源管理访问页面查看集群状态 2.运行官方的WC案例2.1 运行jar准备一个data.txt文件日志查看输出 1.前言 YARN的基本思…

JVM原理

JVM 什么是JVM&#xff1f; JVM是一种虚拟出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 JVM有自己完善的硬件架构&#xff0c;如处理器、堆栈、寄存器等&#xff0c;还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。 使用J…

Nginx之rewrite与location重写功能

一、常用的Nginx 正则表达式 字符涵义以及示例^匹配输入字符串的起始位置$匹配输入字符串的结束位置*匹配前面的字符零次或多次&#xff1b;如“ol*”能匹配“o”及“ol”、“oll”匹配前面的字符一次或多次&#xff1b;如“ol”能匹配“ol”及“oll”、“olll”&#xff0c;但…

GoJS Beginner Tutorial #1

1.关系图&#xff1a; gojs部件由一个或多个gojs面板组成&#xff0c;这些面板包含和组织各种gojs图形对象 通常使用go.GraphObject.make创建一个GraphObject&#xff0c;我们通过使用$符号变量缩短了该函数的名称 这个函数的第一个参数&#xff0c;往往是你想要制作的GraphOb…

Sentinel同时配置fallback和blockHandler的问题

Spring Cloud在使用Sentinel进行服务降级和熔断时&#xff0c;如果同时配置了fallback和blockHandler&#xff0c;则在服务熔断后&#xff0c;抛出的BlockException不会再fallback逻辑中执行&#xff0c;而是在blockHandler逻辑中执行。 首先来看只配置了fallback的情况&#x…

Python文件管理【open和with open的使用】

一、文件的操作步骤 基本都是三个步骤&#xff1a; 打开文件、读写文件、关闭文件 1.open()函数 在python&#xff0c;使用open函数&#xff0c;可以打开一个已经存在的文件&#xff0c;或者创建一个新的文件&#xff0c;语法如下&#xff1a; open(name,mode) name&#xff…

LeafLet加载自定义Legend的设计与实现

背景 众所周知&#xff0c;在GIS的世界里&#xff0c;图例和地图永远是一对一起出现的对象。在地图上表示地理环境各要素&#xff0c;比如山脉、河流、城市、铁路等所用的符号叫做图例。这些符号所表示的意义&#xff0c;常注明在地图的边角上。图例是表达地图内容的基本形式和…

引用与指针:在C++中如何做出正确的选择?

文章目录 前言1. 引用入门2. 引用作为函数传参3. 引用作为函数返回值4. 引用和指针5. 其他区别 前言 引用是 C 的新增内容&#xff0c;在实际开发中会经常使用&#xff0c;它就如同C语言的指针一样重要&#xff0c;但它比指针更加方便和易用&#xff0c;有时候甚至是不可或缺的…

使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

目录 准备源文件和预训练文件下载python版本以及torch版本说明&#xff1a;文件目录说明测试文件 detect.py使用测试单张图片测试一个文件夹里的图片 准备 源文件和预训练文件下载 下载链接&#xff1a;https://github.com/ultralytics/yolov5/releases/tag/v6.2 源文件和预训…

数据科学与机器学习在软件开发中的应用

数据科学和机器学习是现代软件开发的重要组成部分&#xff0c;可以帮助开发人员更好地理解和分析数据&#xff0c;从而提高软件的质量和性能。在本篇博客中&#xff0c;我将深入探讨数据科学和机器学习在软件开发中的应用&#xff0c;并讨论它们如何帮助我们创建更好的软件。 …

你最想知道的APP自动化测试项目实战详解

目录 一、引言 二、APP自动化测试的基本概念 三、APP自动化测试的流程 四、APP自动化测试的最佳实践 五、常见的APP自动化测试工具 六、APP自动化测试的挑战和解决方案 七、结论 一、引言 随着移动设备的普及和应用市场的繁荣&#xff0c;越来越多的企业开始开发和发布移…

【手撕MyBatis源码】执行器与缓存

文章目录 概述执行器(Executor)执行器总结 缓存MyBatis缓存概述一级缓存(LocalCache)Spring集成MyBatis后一级缓存失效的问题二级缓存二级缓存组件结构二级缓存的使用为什么要提交之后才能命中二级缓存?二级缓存结构二级缓存执行流程 概述 通过一条修改语句&#xff0c;我们来…

Android 开发死磕性能优化,方向是否正确?

在 Android 开发者技能中&#xff0c;如果想进大厂&#xff0c;一般拥有较好的学历可能有优势一些。 但是如果你靠硬实力也是有机会的&#xff0c;例如死磕性能优化&#xff0c;成为一名Android性能优化的高手&#xff0c;也算是目前招聘过程中比较稀缺的人才&#xff0c;可以…