Проблема с правилами доступа SVN Subversion Edge

У меня возникли проблемы с предоставлением разрешений определенным пользователям в Collabnet SVN Subversion Edge. В настоящее время у меня есть 3 репозитория: документация, IPM и модули. У меня есть два пользователя: jeremy.johnson и jeremyj. Я хочу предоставить jeremyj доступ для чтения к документации и IPM и предоставить jeremy.johnson доступ к модулям. Я не хочу, чтобы пользователи видели репозитории друг друга.

я не могу сделать

    [/]
    * = r 

Потому что тогда все видят всех.

Поэтому вместо этого я сделал это

    [documentation:/]
    jeremyj = r

    [ipm:/]
    jeremyj = r

    [modules:/]
    jeremy.johnson = r

но это, кажется, ничего не позволяет. Вхожу ли я как jeremyj или jeremy.johnson, у меня нет доступа ни к одному из них. Единственный способ получить доступ к любому из них — это использовать подстановочный знак, но это противоречит цели.

Я также пытался добавить его в файл \documentation\conf\authz, но это, похоже, вообще ничего не дало.


Отредактировано с предложениями @Lazy Badger: чтобы показать фактический синтаксис и случай, который я использую, вместо этого я прилагаю снимки экрана.

правила доступа users repos

Но jeremy.johnson по-прежнему может видеть содержимое документации.


person Jeremy    schedule 28.08.2019    source источник


Ответы (2)


Вы должны

[/]
* = r 

или, может быть, лучше

~$anonymous = r

и отозвать доступ для каждого репозитория для каждого пользователя.

[documentation:/]
jeremyj = r
jeremy.johnson = 

[ipm:/]
jeremyj = r
jeremy.johnson = 

[modules:/]
jeremyj = 
jeremy.johnson = r

Таким образом, каждый сможет увидеть полный список репозиториев, но не их содержимое.

person Lazy Badger    schedule 28.08.2019
comment
Спасибо за предложение. Я пробовал как *, так и анонимно в корне, затем попытался исключить jeremy.johnson из документации, как вы предложили, но jeremy.johnson все еще может видеть содержимое документации. - person Jeremy; 28.08.2019
comment
@Jeremy - это как минимум странно. Я не могу вспомнить правила учета регистра для путей в authz, может быть, это как-то ваш случай? - person Lazy Badger; 29.08.2019
comment
Я вчетверо проверил, что по этой причине я использую один и тот же чехол. - person Jeremy; 30.08.2019
comment
@Jeremy - Хорошо, если ваш svnserve использует этот autz-файл (но, пожалуйста, проверьте его еще раз в svnserve.conf), давайте напишем его пошагово: с существующим / доступом, отозвать полный доступ для всех пользователей во всех репозиториях (в результате вы получаете доступ к root и ничего более) и добавляете одного пользователя за один шаг в каждое рассматриваемое репо. На правах бред, ибо такие простые правила не могут не сработать! - person Lazy Badger; 30.08.2019
comment
Я только что разместил свое обновление в ОП, чтобы его было легче показать там. Я бы предпочел использовать правила доступа вместо файла authz. В настоящее время у меня есть все, что связано с авторизацией в файле авторизации, закомментировано. - person Jeremy; 30.08.2019

То, что вы делаете, должно работать. Каноническая документация по функции и синтаксису аутентификации находится здесь: http://svnbook.red-bean.com/en/1.8/svn.serverconfig.pathbasedauthz.html

Чтобы устранить неполадки, я бы посмотрел журнал доступа Apache. Вы должны иметь возможность видеть добавленные записи, когда ваш клиент обращается к репозиторию. Найдите зарегистрированное имя пользователя. Я предполагаю, что что-то не соответствует правилам. Возможно, дело в другом или ваш клиент аутентифицируется с другим именем пользователя, чем вы думаете. Правила авторизации должны соответствовать имени пользователя, которое вы видите в журнале.

person Mark Phippard    schedule 02.01.2020