linux下svn(subversion)服务端添加工程及配置权限

linux下svn(subversion)服务端添加工程及配置权限

转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html

此篇我只是将所做过的事情记录下来,原想搜一篇文章保存呢,结果发现事实上并没有一篇合适的博文供参考,遂,自给自足,以丰衣足食嘛。

  首先,你需要有这些:

 一台已经安装好了的SVN服务器

  一台客户的电脑

  由于我是在现有的svn服务器上安装的,遂就略去了SVN安装的过程,现在我整理下大致的思路:

=>svnadmin创建工程

    =>配置所创建工程下的authz  passwd  svnserve.conf

    =>杀进程,重启SVN服务

    =>测试新建立的工程(包括权限认证,文件提交和更新)

  先,需要进入工程目录使用,svnadmin命令创建一个工程:

创建命令: svnadmin create 工程名

  工程已经创建成功了,(在这里我插入一句:即使不熟悉请不要用复制的方式去创建svn工程,切记!) 现在进入文件夹,可以看到一些默认的文件和文件夹:

这里我大致解释下这几个文件夹的作用:

conf:放置当前工程的配置文件,权限访问控制等等

  db:记录用户提价的版本、缓存、db配置等,本身也是个sqlLite数据库

  format:一个文件,默认为空,用途暂不明

  hooks:放置自动提交和更细脚本,及相关配置

  locks:顾名思义就是锁,代码被锁住了,可以在这里进行解锁操作  

  README.txt:工程的介绍文档,建议新建工程后都更新下

?,因为我的目的是在拉取代码时就做一次权限认证,防止恶意用户窥测,遂,现在我们进入conf里面配置相关权限,conf目录目前有这些文件:

命令:  vi passwd ,现在可以看到svn给了我们两个例子 harry和sally两个用户,现在我们需要添加我们的用户,大致格式是 :用户名 = 密码,#是注释,请不要以#开始命名用户

 现在完成了一大半了,目前还需要配置两个,一个是文件读写权限和svn服务引用这两个,现在配置用户组及读写权限:

命令: vi authz

如图,用户组的配置需要在[group]标签下配置,你可以自定义一个用户组,比如这里的admin,用户组的用户均以逗号隔开,且用户必须在刚才的passwd文件中配置过的用户(不可使用中文作为用户名),用户组的命名方式为: 用户组名 = 用户1,用户2,用户3 ,用户组定义完成,现在需要对每一个用户组赋予不同的读写权限,大致格式是这样: @用户组名 = 读写权限 ,这个读写权限常用的有两个:rw->读写,r->只读。

  用户组配置完成,现在需要配置svn服务引用,命令:  vi svnserve.conf

额,主要操作就是把除了上面两个的其它配置参数全部用#注掉,对于保留的这两个参数,我解释下:

  anon-access = none :将匿名用户的权限置为空

  password-db = passwd :引用权限用户信息为passwd文件

  好了,一切只缺重启了,现在需要找到重启的svn进程,请注意重启时需要在svn工程目录外侧执行命令

命令:

查找svn进程服务:ps -ef|grep svnserve
杀掉进程:    kill -9 进程ID
启动svn:    svnserve -d -r 目录名

可以看到,svn的启动命令已经在查找的进程中给出了,当然这里如果不是在svn工程列表目录外部操作,请一定注意启动命令后面的目录地址。

  现在测试,由于家庭电脑没有装svn,公司电脑是测试成功的,这里我简要的给下一些基本命令供参考:

  checkout工程(之后需要输入密码): 

svn checkout svn://服务器IP或域名/工程目录(我这里是document) --username 用户名

    添加文件:

 svn add 文件名

  提交文件(含备注):

svn commit -m "备注内容" 文件名

  更新文件(需要制定版本):

svn update -r 修正版本 文件名

  本节基本完成,我该发表了,等回公司了会把测试部分更新下,嘻嘻?

  现在是:2018-05-13 13:15:01 ,我的中饭时间(●・̆⍛・̆●)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏网络

Jenkins实现SpringBoot应用自动部署

工具的出现,目的就是为了提高我们的工作效率,让我们把时间花在做重要的事情上。学习本文你需要具备基本的Linux知识,学习自动部署的前提是你能够手动在服务器完成部...

52350
来自专栏Dato

Maven的作用是什么

现在我们开发的项目基本上都是maven项目,maven项目也是一个项目,类似于javaProject,javaWebProject,就是多了些功能。 那就说说究...

362110
来自专栏精讲JAVA

使用 JITWatch 查看 JVM 的 JIT 编译代码

我们知道Java代码通过编译器编译成字节码,一般是class文件,有JVM的各个类加载器加载后,根据JVM的启动配置可以进行解释执行和编译执行,编译执行是由JI...

23320
来自专栏Java架构沉思录

每天学点Linux命令之umask

在进入今天的主题之前,我们先来回顾一下Linux文件权限的相关知识点。Linux里的文件权限可分为3组,分别是文件拥有者、同个群组的其他用户、不同群组的其他用户...

7010
来自专栏北京马哥教育

汇总:Linux文件管理的50个命令

文 | 糖豆 图 | 来源网络 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! Linux cat命令 cat 命令用于连接文件并打印到标准输出设备上...

52160
来自专栏yukong的小专栏

基于SpringCloud Finchley.SR1 、Spring Oauth2 SpringBoot 2.x、 vue、element-ui 微服务基础脚手架

github 地址 跪求大家star panda微服务工程地址 panda-admin前台工程地址

63130
来自专栏友弟技术工作室

DevOps人员常用的linux命令

以下内容是来自网路,中间加入了自己工作中的使用总结 命令 功能说明 线上查询及帮助命令 (2 个) man 查看命令帮助,命令的词典,更复杂...

35560
来自专栏Brian

Install Django Nginx uWSGI

概述 最近项目需要安装和配置多站点环境,所以把多站点开发环境配置和安装记录下来,帮助其他人少走坑。 安装Python 2.7.x 首先安装一些开发环境基本的包和...

40590
来自专栏华章科技

收藏 | Linux常用156个命令汇总!

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的...

20720
来自专栏SpringBoot 核心技术

SpringCloud组件:Eureka服务注册是采用主机名还是IP地址?

我们一直在使用Eureka进行注册服务,然而你有可能很少关心服务在注册到Eureka Server时是采用的主机名的方式?还是IP地址的方式?

29710

扫码关注云+社区

领取腾讯云代金券