Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN回购访问控制问题_Svn_Authorization - Fatal编程技术网

SVN回购访问控制问题

SVN回购访问控制问题,svn,authorization,Svn,Authorization,我尝试使用svn只允许特定组访问特定的文件。这些文件与同一目录级别上的其他文件位于随机目录中 例如: /branches/libraries/all_access_file.php /branches/libraries/some_access_file.php /branches/codebase/lots_of_private_files.php /branches/codebase/one_file_that_someone_can_see.php 当我设置特定的文件权限时,例如 [re

我尝试使用svn只允许特定组访问特定的文件。这些文件与同一目录级别上的其他文件位于随机目录中

例如:

/branches/libraries/all_access_file.php
/branches/libraries/some_access_file.php
/branches/codebase/lots_of_private_files.php
/branches/codebase/one_file_that_someone_can_see.php
当我设置特定的文件权限时,例如

[repo:/branches/librares/some_access_file.php]
@admin = rw
@devs = rw
@some_guy = rw
我的预期结果是在svn公司上看到“some_guy”组中的任何人都只能得到一个文件。但它们会得到一个禁止的错误,因为它们被另一条规则隐式拒绝:

[repo:/branches]
@admin = rw
@devs = rw

除了一个文件(其目录结构是完全随机和不可逆的)之外,基本上拒绝访问整个存储库的正确方法是什么?如果是这样的话,我认为这是无效的,可能会弄乱你的授权

我也经常看到/从父母到孩子都这样做。。。可能是svn按顺序解析身份验证,但我对此表示怀疑。因此,您的文件可能如下所示:

[repo:/branches]
@admin = rw
@devs  = rw

[repo:/branches/librares/some_access_file.php]
@some_guy = rw
另外,您是否允许匿名访问?如果你加上

@这是否允许您组的用户访问/写入有问题的文件

最后,作为测试,您可能希望向文件添加具有rw访问权限的特定用户名

那个家伙

看看这是否有效。可能是你测试的用户实际上不在some_guy组中

请记住,用户不能签出(svn co)和单个文件,即使他们有权访问它。他们可能会导出单个文件,如果这是他们所能访问的全部

若可能,若要解决此问题,请重新组织项目,以便控制访问权限的文件都位于某个文件夹中。这将允许用户签出单个文件夹


如果您只是试图控制对某些文件的访问,而人们不会编辑这些文件,那么svn就不是您要寻找的工具。使用cron作业运行某种类型的脚本,该作业根据文件系统更新具有正确权限的共享文件夹。

文件中没有@。那是个打字错误。我有一个文件,就像你放在那里的一样,分支位于某个\u访问\u file.php之上,不允许匿名访问。如果我将@some_guy read access添加到/branchs,那么当我签出repo时,它允许我提取所有文件,而不仅仅是我想授予读取权限的文件。我不希望该组甚至能够读取任何文件,但我允许的特定文件。这个人绝对是这个群体中的一员。无论是个人还是团体,问题都是一样的。那么,你到底想做什么?如果用户只能访问单个文件,我认为您有问题,因为您只能签出一个文件夹,无法签出单个文件。用户需要对包含的文件夹具有读取权限才能签出文件。我希望签出项目,并且能够只允许某些文件可见,即使这些文件与其他不应可见的文件位于同一目录级别。是的,这不起作用。他们可能会导出单个文件,如果这是他们所能访问的全部。即使您有权访问文件,也不能对其执行“svn co”。