linux下使用svn创建版本库和权限管理

时间:2023-12-31 09:21:20

linux上的svn服务端如何和本地的电脑客户端结合使用

Linux上安装SVN服务器:

第一步:检查是否已安装

# rpm -qa subversion

第二步: 通过yum命令安装svnserve,命令如下:

>yum -y install subversion

# yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

若需查看svn安装位置,可以用以下命令:

>rpm -ql subversion

# rpm -ql subversion

一、linux上创建本版库与权限访问

1.创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:

>mkdir /opt/svndata

# 创建版本库根目录
# mkdir /opt/svndata # 进入目录
# cd /opt/svndata

2.svn create 创建svn版本库

语法:svnadmin create /directory

linux下使用svn创建版本库和权限管理

3.修改配置文件  增加用户 passwd(密码)

linux下使用svn创建版本库和权限管理

vim passwd之后进入文件并添加用户和密码(本地检出的时候会用到)

linux下使用svn创建版本库和权限管理

4.修改svn启动项参数 svnserver.conf

命令:vim svnserve.conf

linux下使用svn创建版本库和权限管理

配置项分为以下5项:

anon-access 控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
即"write"为可读可写,"read"为只读,"none"表示无访问权限。
缺省值:read
auth-access 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
即"write"为可读可写,"read"为只读,"none"表示无访问权限。
缺省值:write

password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf
目录的相对路径。
缺省值:passwd

authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
除非指定绝对路径,否则文件位置为相对conf目录的相对路径。
缺省值:authz

realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
认证域相同,建议使用相同的用户名口令数据文件。

 5.配置用户权限 authz

命令:vim authz

linux下使用svn创建版本库和权限管理

注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
<用户组名> = <用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:

/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
repos1:/,表示对版本库1设置权限
repos2:/occi, ,表示对版本库2中的occi项目设置权限
repos2:/occi/aaa, ,表示对版本库2中的occi项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

6.启动服务

语法:svnserve -d -r svn仓库目录
svnserve -d -r /home/svnrepo/myproject/

二、本地新建一个目录,然后右键检出(checkout)。前提是Windows安装了svn客户端

例如:iot2

linux下使用svn创建版本库和权限管理

 点击OK,就会提示需要输入用户和密码,直接输入刚刚在vim passwd设置的。
成功后目录会有个绿色的小勾
linux下使用svn创建版本库和权限管理
三、进入服务器中,你想将本地的文件夹检出的位置。例如:cd /var/www/
输入命令:svn co svn://119.23.79.11/iot 或 svn co svn://119.23.79.11/iot --username 用户名 --password 密码 回车 linux下使用svn创建版本库和权限管理

就会检出到目录 /var/www/iot下了

linux下使用svn创建版本库和权限管理

接下来就可以在本地写代码,提交到服务器。在/var/www/iot目录下svn up了

资料来源参考:https://blog.csdn.net/yin380697242/article/details/49362197