我有一个使用 Apache 2 通过 HTTPS 托管的 SVN 存储库。为了统一 SVN 以及服务器上其他服务的访问控制列表,并避免处理用户和组的多个副本,我决定让用户使用 PAM 与其 unix 用户进行身份验证,因此访问控制必须基于他们所属的组
我能够根据以下 Apache 配置控制对整个 SVN 存储库的访问
DefineExternalAuth checkPassword pipe /usr/sbin/pwauth
<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Repo"
AuthBasicProvider external
AuthExternal checkPassword
AuthzSVNAccessFile /var/svn/authz
Order deny,allow
Require unix-group svngroup
</Location>
然后,为了尝试微调存储库本身的访问控制列表,我设置了以下授权
[therepo:/]
@svngroup = rw
[therepo:/restricted_files]
@svngroup =
@vipgroup = rw
但是,这会失败,并且整个存储库将被限制给所有用户,无论他们属于哪个组。我在日志中收到以下错误
Failed to load the mod_authz_svn config: Error while parsing config file: '/var/svn/authz': Access entry refers to undefined group '@svngroup'
这告诉我它没有识别出 svngroup 是一个有效的 unix 组。有什么解决办法吗?还是我被迫拥有用户和组定义的多个副本?