没有为SVN存储库用户设置权限

时间:2012-11-21 06:00:30

标签: linux svn

我刚在本地网络中设置了SVN服务器。为此,我遵循了这个link。但我的问题是我在/etc/svn-auth-conf文件中创建的任何用户只允许签出和提交,实际上这个用户拥有所有权限。我如何限制他们的权限?

这是我的/etc/httpd/conf.d/subversion.conf文件

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /repos>
   DAV svn
   SVNParentPath /var/www/html/svn
   AuthType Basic
   AuthName "Subversion repos"
   AuthUserFile /etc/svn-auth-conf
   Require valid-user
</Location>

另一方面,当我使用svnadmin命令创建任何存储库时,已在存储库conf文件夹(如authz,passwd,svnserve.conf)中创建了不同的配置文件。我跟着this link设置了权限。

那么如何为特定用户设置特定权限?


user1=All permissions
user2=read
other=none

2 个答案:

答案 0 :(得分:2)

要通过http访问,您必须在authz文件中包含基于每个文件夹的权限

像这样:

[/]
#rw is read-write, r is read only, and empty is none
user1 = rw
user2 = r
* =

您还可以在[groups]部分中定义用户组,并使用@group_name分配权限,如下所示:

[groups]
dev = jdoe,user3
qa = user4,user5

[/some/other/path]
@dev = rw
@qa = r
* =

修改 最后,你的apache conf缺少一个至关重要的部分,它必须包含AuthzSVNAccessFile指令,如:

    <Location /project/src>
            DAV svn
            SVNPath /var/svn/project
            AuthzSVNAccessFile /var/svn/project/conf/authz
            AuthType Basic
            AuthName "Project source repository"
            AuthUserFile /var/svn/.dav_svn.passwd
            Require valid-user
    </Location>

答案 1 :(得分:0)

使用

 chown -R groupname:groupname folder
 chmod -R <permission> directory-name/

权限可以是766,用户可以读写和执行,其他人和组可以读写

查看手册页以获取更多信息

设置用户并读取或写入限制