svn 的单个只读用户

Posted

技术标签:

【中文标题】svn 的单个只读用户【英文标题】:Single read-only user for svn 【发布时间】:2010-09-21 20:58:20 【问题描述】:

我正在对私人 svn 服务器进行一些维护。身份验证通过 Apache 基本 HTTP+mod_authz_svn 处理。我需要拥有它,以便每个用户都有读/写访问权限,除了一个只读用户。但是,只读用户仍然需要进行身份验证。我像这样设置我的 authz 配置文件:

[/] * = rw 只读 = r

但这不起作用。 “只读”用户仍然可以提交更改。我可以为所有人设置只读,但 * 位似乎覆盖了我尝试为“只读”设置的内容。

FWIW,Apache conf 的相关部分是:

 
   DAV svn
   SVN路径...
   SVNIndexXSLT "/svnindex.xsl"

   AuthzSVNAccessFile ...

   AuthType 基本
   身份验证...
   验证用户文件 ...
   需要有效用户
 位置>

【问题讨论】:

【参考方案1】:

嗯,之前的帖子在 ACL 顺序上可能是正确的,但是...

我的配置包括

AuthzSVNAccessFile "<path-to-svn-acl-file>"

这也是个问题吗?

【讨论】:

【参考方案2】:

在这种情况下,只读用户仍然具有写入权限,因为它也匹配 * 组。

实现您想要的一种安全方法是创建一个由所有用户组成的组,只读用户除外,例如

[groups]
all-but-ro = harry, sally, ...

[/]
@all-but-ro = rw
read-only = r

(或者,您可能只是从 passwd 文件中生成许多 =rw 行)

可能是 svn 从上到下匹配 - 这没有记录,我也没有测试。所以试试

[/]
read-only = r
* = rw

【讨论】:

我试过反向匹配,不行。有没有办法自动创建组?每当将用户添加到服务器时,我宁愿不必重建此文件。 如果这是完整的文件 - 自动构建它有什么问题?

以上是关于svn 的单个只读用户的主要内容,如果未能解决你的问题,请参考以下文章

svn权限设置 根目录设置为只读,子目录为读写,但是子目录中拉取代码后无法提交。还是为只读权限。

svn只有两种状态吗?只读和可写吗

SVN的灰色图标是啥意思?

Python入门自学进阶-Web框架——29DjangoAdmin项目应用-整表只读自定义用户认证

Python入门自学进阶-Web框架——29DjangoAdmin项目应用-整表只读自定义用户认证

Hibernate -- 将具有单个值的视图映射到只读字段