svn添加用户,权限
2017-11-22 16:11
246 查看
1、查找SVN的安装地址 我的在/opt/svn下面,不知道地址的话find / -name svn可以找到。
2、svn下有个目录conf,命令
cd /opt/svn/conf/
进入,conf中的四个配置文件:
authz hooks-env.tmpl passwd svnserve.conf
svnserve.conf #svn版本库配置文件
passwd #svn用户配置
authz #权限配置
hooks-env.tmpl #环境变量配置实例
3、 vi passwd 进到编辑页面,在[users]下添加新增的用户。格式为:
用户名 = 密码
admin = admin
zs = 123
然后Ctrl + C退出编辑模式,Shift+ : ,接着x保存退出。
4、vi authz 进到编辑页面,authz 中主要是分为两类配置:[groups]类配置、以[repo:/]开头的配置。
[groups]的配置很容易理解,就是群组。格式也比较简单,即
“group_name = user1,user2,user3”
如果有多个用户,可以直接通过“,”的方式拼接就可以了,例如:
[groups]
# 经理
g_manager = michael
# 北京办人员
g_beijing = scofield
# 上海办人员
g_shanghai = lincon
# 总部一般员工
g_headquarters = rory, linda
.以[repo:/]开头的配置,上边的[gourps]配置是用来划分用户分组的,那么以[repo:/]开头的配置就是用来具体的划分用户读写权限的了,其中repo是你的库的名字,即上边我们通过
“svnadmin create /home/user/svn/test”
命令所创建的库“test”,下边我们直接用例子来说明它的使用方法:
对项目根目录做限制,该目录只允许经理才能修改,其他人都只能拥有读的权限:
[test:/]
@g_manager = rw
* = r
“[test:/]” 表示这个目录结构的相对根节点,或者说是 test 项目的根目录。这里的 “@” 表示接下来的是一个组名,不是用户名。因为目前 g_manager 组里面只有一个 michael,你当然也可以将 “
@g_manager = rw” 这一行替换成 “michael = rw”
,表达的意义完全一样。
“*” 表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”
“* = r” 则表示“那些人只能读,不能写”。
对于根目录下边的子目录,其权限配置方式是相同的,是需要把地址指明就可以了,即[test:/folder1/folder2],这里就不赘述了。
注意:配置中我们可能会遇到“* =”这样的情况,他的目的是用来隔断权限的继承性。如果在某一级目录的权限配置里加上这一句,则表明除了该配置中的用户之外的其他用户完全没有这一级目录的任何权利,既不可读,更不可写。
当所有权限与用户全都配置完成之后,接下来就是要让它们都生效了,首先我们需要确保svnserve服务已经停掉了,可以通过
ps aux|grep svn
的方式来查看svn时候还在运行,如果还在运行的话直接通过“kill -9 svn进程编号”的方式把它停掉就可以了,然后在通过命令
svnserve -d -r /opt/svn –listen-port 9998
–listen-port 9998 是我指定9998的端口启动,不加上这段默认是3690端口
来重新启动svn服务,以上配置的三个文件就都起作用了!
svn list svn://xx.xxx.x.x/svn
在linux做登录的操作,我测试用下而已
2、svn下有个目录conf,命令
cd /opt/svn/conf/
进入,conf中的四个配置文件:
authz hooks-env.tmpl passwd svnserve.conf
svnserve.conf #svn版本库配置文件
passwd #svn用户配置
authz #权限配置
hooks-env.tmpl #环境变量配置实例
3、 vi passwd 进到编辑页面,在[users]下添加新增的用户。格式为:
用户名 = 密码
admin = admin
zs = 123
然后Ctrl + C退出编辑模式,Shift+ : ,接着x保存退出。
4、vi authz 进到编辑页面,authz 中主要是分为两类配置:[groups]类配置、以[repo:/]开头的配置。
[groups]的配置很容易理解,就是群组。格式也比较简单,即
“group_name = user1,user2,user3”
如果有多个用户,可以直接通过“,”的方式拼接就可以了,例如:
[groups]
# 经理
g_manager = michael
# 北京办人员
g_beijing = scofield
# 上海办人员
g_shanghai = lincon
# 总部一般员工
g_headquarters = rory, linda
.以[repo:/]开头的配置,上边的[gourps]配置是用来划分用户分组的,那么以[repo:/]开头的配置就是用来具体的划分用户读写权限的了,其中repo是你的库的名字,即上边我们通过
“svnadmin create /home/user/svn/test”
命令所创建的库“test”,下边我们直接用例子来说明它的使用方法:
对项目根目录做限制,该目录只允许经理才能修改,其他人都只能拥有读的权限:
[test:/]
@g_manager = rw
* = r
“[test:/]” 表示这个目录结构的相对根节点,或者说是 test 项目的根目录。这里的 “@” 表示接下来的是一个组名,不是用户名。因为目前 g_manager 组里面只有一个 michael,你当然也可以将 “
@g_manager = rw” 这一行替换成 “michael = rw”
,表达的意义完全一样。
“*” 表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”
“* = r” 则表示“那些人只能读,不能写”。
对于根目录下边的子目录,其权限配置方式是相同的,是需要把地址指明就可以了,即[test:/folder1/folder2],这里就不赘述了。
注意:配置中我们可能会遇到“* =”这样的情况,他的目的是用来隔断权限的继承性。如果在某一级目录的权限配置里加上这一句,则表明除了该配置中的用户之外的其他用户完全没有这一级目录的任何权利,既不可读,更不可写。
当所有权限与用户全都配置完成之后,接下来就是要让它们都生效了,首先我们需要确保svnserve服务已经停掉了,可以通过
ps aux|grep svn
的方式来查看svn时候还在运行,如果还在运行的话直接通过“kill -9 svn进程编号”的方式把它停掉就可以了,然后在通过命令
svnserve -d -r /opt/svn –listen-port 9998
–listen-port 9998 是我指定9998的端口启动,不加上这段默认是3690端口
来重新启动svn服务,以上配置的三个文件就都起作用了!
svn list svn://xx.xxx.x.x/svn
在linux做登录的操作,我测试用下而已
相关文章推荐
- 【转】svn添加用户并设置权限
- Linux安装svn并添加用户权限
- SVN服务器添加过用户权限,用户不能正常checkout问题
- mysql添加用户、设置权限
- linux给用户添加sudo权限
- SA权限添加管理员帐号的SQL命令与命令行下添加SQL用户的方法
- 用户添加sudo权限
- 使用VisualSVN Server建立版本库/用户创建/权限分配
- mongodb 添加用户及权限设置详解
- CentOS下安装svn,添加新用户,重启svn服务
- VisualSVN Server仓库迁移到Linux(包含所有版本, 权限,用户信息)
- Liferay 6.2 改造系列之二十:修改默认添加用户权限及用户是否拥有个人站点的配置
- 【Linux】svn添加用户
- ubuntu给指定用户添加sudo权限
- Linux添加用户,目录权限
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
- mysql添加新用户以及分配权限
- linux 添加用户、权限
- linux给用户添加sudo权限