Назад | Перейти на главную страницу

Можете ли вы использовать подстановочные знаки в авторизации на основе пути в Subversion?

Информация о Subversion: Collabnet Subversion Edge 3.2.2 Версия SVN: 1.8.0 Apache HTTP Server 2.4.4 Использование mod_authz_svn, без ldap

Я пытаюсь предоставить доступ к проекту Subversion всем разработчикам в команде, но иметь определенные каталоги, к которым должны иметь доступ только определенные разработчики. Вместо того, чтобы создавать десятки таких записей:

@superdevs = trusteddev, projman
@devs = @specdevs, user1, user2, user3

[/]
* = rw

[MyProj:/]
~@devs = 

[MyProj:/trunk/AllDevs/SuperDevsOnly]
~@superdevs = 

[MyProj:/trunk/ManyOtherDirs/SuperDevsOnly]
~@superdevs =

# the list goes on and on...

Можно ли настроить файл авторизации на основе пути для определения шаблона файла вместо явного создания записи для каждого ограниченного пути? Я надеюсь избежать добавления 200+ записей в файл авторизации, поскольку я знаю, что большее количество записей повлияет на производительность всех операций SVN, размещенных на сервере. Это также похоже на большую работу по защите конфиденциального кода, который необходим для создания нашего окончательного решения.

TL; DR; Можете ли вы определить общие шаблоны файлов при настройке файла авторизации на основе пути в Subversion вместо определения правила для каждого явного файла или каталога, которые необходимо ограничить?

ЕЩЕ КОЕ-ЧТО

Я знаком с внешними компонентами, но мы не смогли заставить их работать с нашей системой непрерывной интеграции, а власть имущие не хотят «тратить время» на обновление или замену в данный момент.

Проблема с подстановочными знаками уже довольно давно обсуждается с svn, и для нее есть открытый отчет об ошибке:

http://subversion.tigris.org/issues/show_bug.cgi?id=2662

Последний комментарий (от июня 2013 г.) содержал следующее заявление:

Мы пришли к выводу, что эту функцию в любом случае стоит реализовать. Мы можем предупредить пользователей о том, что эта функция в некоторых случаях может снизить производительность сервера и даже может использоваться для атак типа «отказ в обслуживании» (как уже упоминалось в комментариях к этой проблеме выше).

Перехватчик предварительной фиксации svnperms.py имеет ограниченную поддержку подстановочных знаков, только для записи, но не для чтения: https://stackoverflow.com/questions/916758/set-up-svnperms-pre-commit-hook

Subversion 1.10 поддерживает использование подстановочных знаков при авторизации на основе пути: https://subversion.apache.org/docs/release-notes/1.10.html#authzperf