1.如何在windows系统修改svn用户权限
1、本文适用于对Subvesion的自带服务svnserve进行权限配置,全部在authz文件中完成。
2、如果要对含有中文的目录或文件进行管理或分配时,需要将该文件保存为UTF-8格式,微软的记事本保存为UTF-8格式无效,所以不要用。可用如UltraEdit或EditPlus等软件完成,保存时,格式应选择UTF-8 NO BOM。
3、权限分配时,应遵守从根目录到子目录、从设置最广泛权限到最精细权限、从只读权限到读写权限设置原则,即从根目录开始设置最广泛的访问权限,然后逐步设置下属子目录的访问权限。提示:目录的访问权限既可以分配给组,也可以分配指定用户。
现举例进行说明:启动服务:服务应指向所有版本库的根目录,本例中为D:\SVN,命令如下:sc create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r D:/SVN" displayname= "SVNService" depend= Tcpip start= auto 项目情况:D盘根目录下有一个文件夹SVN,在该文件夹中有jsyxv3、svntest两个版本库(可以有更多个),这些版本库共享使用同一个权限配置文件,目录结构如下:D:\SVN |---jsyxv3 (项目一,子目录略) |---svntest (项目二,子目录略) |---authz (共享的权限配置文件) |---passwd (共享的密码文件)#=====配置开始=====#分组:[groups] group_*** = wws,aaa,bbb group_user1 = sj,ccc group_user2 = sy,dd,eeee group_user3 = lxt group_user4 = ss#设置对根(即SVN)目录下,所有版本库的访问权限 [/]* = r #所有登录用户默认权限为只读 @group_*** = rw #可以分配给组,该组有读写权限 wws = rw #也可以像这样分配给指定用户#以下将对各版本库的及其目录进行权限分配 [jsyxv3:/] #设置对jsyxv3版本库中,所有项目的访问权限* = #未授权用户没有任何权限 @group_user1 = rw [jsyxv3:/程序管理] #设置对jsyxv3版本库中程序管理目录的访问权限* = #未授权用户没有任何权限 @group_user2 = rw [jsyxv3:/项目管理] #设置对jsyxv3版本库中项目管理目录的访问权限* = #未授权用户没有任何权限 @group_user3 = rw [svntest:/] #设置对svntest版本库中,所有项目的访问权限* = #未授权用户没有任何权限 @group_user1 = rw [svntest:/程序管理] #设置对svntest版本库中程序管理目录的访问权限* = #未授权用户没有任何权限 @group_user2 = rw @group_user3 = rw [svntest:/项目管理] #设置对svntest版本库中项目管理目录的访问权限* = #未授权用户没有任何权限 @group_user4 = rw#=====配置结束=====4、最后重要提示:4.1启动的服务与客户端检出的关系:4.1.1 如果启动的服务指向一个具体的版本库,如红字部分描述:sc create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r D:/SVN/svntest" displayname= "SVNService" depend= Tcpip start= auto 则客户端检出的地址应为:svn://192.168.0.1/4.1.2 如果启动的服务指向的是多个版本库的父目录,如红字部分描述:sc create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r D:/SVN" displayname= "SVNService" depend= Tcpip start= auto 则客户端检出的地址应为:svn://192.168.0.1/svntest4.2如果权限管理完成时,对各版本库还未完成导入工作,请记得使用对SVN目录有读写权限的用户身份进行操作,否则有可能会提示操作失败(因为权限不够)。
2.SVN管理员权限设置不想让配置管理员查看文档的内容,这个怎么设置
1、首先你要弄明白subversion、visualsvn、apache之间的关系。
2、版本控制的核心软件(也就是SVN)实质上指的是subversion。svnserve。
conf是这个工具自带的版本库权限管理文本,只控制某个版本库。 如果你访问版本库的客户端地址的前缀是svn://或者svn ssl方式来访问版本库,那么这个文件就会起作用。
3、一般来讲,我们很少会用上述方式来访问,因为每个库都要手动编辑这个权限文件,那么我们会采用另一种方式搭建服务器,也就是apache subversion(也可以集成其他比如ssl、域认证等模块)的方式,这个方式下,我们的权限控制是通过apache来读取认证文本的,这样无论我们有多少个版本库,认证文件都只有一个。 然后通过手动编辑或者命令行编辑或者svn管家等方式来总体控制所有版本库权限。
而且可以通过http或者https来访问。通过IE访问。
4、VisualSVN Server说白了这就是个一键安装包(他集成了相关联的所有软件比如subversion、apache、ssl、域认证等等),另外自己加入了读取目录进行权限分配的功能,比自带的要手工编辑权限文件更可靠和好用。 也是利用的apache只需要读取groups。
conf和htpasswd,而不需要读取每个库的svnserve。conf,这样svnserve。
conf自然也就不会变了。 5、你可以在你安装visualsvn的目录下找到一个说明文件,他会表面这个版本的visualsvn里面各个软件(subversion、apache、ssl等)的版本。
明白了他们的关系,然后试着去搭建一个apache subversion,就知道他们是怎么回事了。
3.如何在SVN上新建一个目录并赋予相应的权限
svn上创建文件夹的过程:
这里以svn://10.43.2.31/bocode/academy在这目录下创建一个和browser-plugins平级的目录:office-plugin
第一步:右击academy-----create folder----输入文件夹的名字并给出注释信息,比如说这个文件夹是用来存放什么的
第二步:通过ssh或者是其它的远程工具,以用户svn:Svn@31Wang登录
svn@Ubuntu-01:~$ cd /home/svn
svn@ubuntu-01:~$ ls
bocode-doc examples.desktop repo reviewboard svnroot
svn@ubuntu-01:~$ cd svnroot/
antifake bocode bocode-doc lost+found passwd passwd.131010 passwd.131029 passwd20131104 passwd20131205 test
这里面有三个目录是我们经常操作的:
其中antifake和bocode是用来存放代码的
bocode-doc:主要用于存放文档的
第三步:切换到需要修改的目录下
svn@ubuntu-01:~/svnroot$ cd bocode/conf/
svn@ubuntu-01:~/svnroot/bocode/conf$ ls
authz authz1104 authz.131011 authz.131023 authz.131029 authz20140122 svnserve.conf
在这里有一点需要特别注意的是:在修改文件之前一定记得做备份
第四步:给office-plugin赋予权限,这个根据实际的需要来进行分配
[bocode:/academy/office-plugin]
@encodingtest = rw
说明:@encoding代表的是给这个组赋予权限
如果是给单个的用户赋予权限:liyuemei = rw
4.Git可以像SVN做到基于LDAP认证(webdav)以及目录权限管理么
看资料上说是可以的。没有亲自实验过,希望对你有用。
编集git/gitlab/config/gitlab.yml
#
# 2. Auth settings
# ==========================
## LDAP settings
ldap:
enabled: false
host: '_your_ldap_server'
base: '_the_base_where_you_search_for_users'
port: 636
uid: 'sAMAccountName'
method: 'ssl' # "ssl" or "plain"
bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
password: '_the_password_of_the_bind_user'
enabled: true
转载请注明出处windows之家 » win10下svn用户设置目录权限