Я создал файл svn.password
и добавил несколько пользователей.
Теперь я установил репозиторий Subversion и экземпляр Trac в свою папку apache и настроил vhost.conf
следующим образом:
<Location /svn>
DAV svn
SVNParentPath /var/www/vhosts/xyz.com/svn/
AuthType Basic
AuthName "SVN"
AuthUserFile /var/www/vhosts/xyz.com/svn.password
Require valid-user
</Location>
<Location /trac/>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/www/vhosts/xyz.com/trac/
PythonOption TracUriRoot /trac/
</Location>
<Location /trac/login>
Все работает гладко, я могу получить доступ к http://www.xyz.com/svn/repository и http://www.xyz.com/trac/ с любым из пользователей, которых я добавил.
Теперь вот моя проблема. Теперь я хотел бы ограничить доступ к определенным папкам в моем хранилище для определенных пользователей. Я хочу один репозиторий для Trac, но некоторые разработчики будут работать только над определенными проектами. Таким образом, в моей папке ./svn/repository/ есть папка xyz_server и папка xyz_client.
Теперь я изменяю /var/www/vhosts/xyz.com/svn/repository/conf/authz и устанавливаю следующее:
[/repository/xyz_server]
* =
test = rw
ihaveaccess = rw
[/repository/xyz_client]
ihaveaccess = rw
Теперь я предполагаю, что если я попытаюсь получить доступ к http://www.xyz.com/svn/repository/xyz_client/
с помощью пользовательского test
это не сработает. Только если я попытался получить доступ к http://www.xyz.com/svn/repository/xyz_server/
меня должны были быть права на чтение и запись.
Однако у меня есть полный доступ к папкам SVN.
Что я делаю неправильно?