Проблема аутентификации SVN на основе пути - PullRequest
0 голосов
/ 26 апреля 2011

Я использую файл authz для ограничения доступа к серверу Subversion (svnserve). Я хотел бы предоставить пользователю доступ на чтение и запись к определенному проекту в репозитории, но не иметь доступа к другим проектам в этом же репозитории. Мой файл authz выглядит так:

[groups]
trusted = userA,userB,userC

[/]
@trusted = rw
* =

[repo1:/project1]
userD = rw

Однако с этим файлом authz пользователь D может только читать , но не записывать в /project1.

Если добавить следующее:

[repo1:/]
userD = r

Тогда userD может как читать, так и писать в /project1.

Это не имеет никакого смысла для меня. Согласно книге подрывной деятельности , «наиболее конкретный путь всегда совпадает первым», поэтому в этом не должно быть необходимости. Кроме того, я не могу понять, что установка разрешения read - это то, что фактически позволяет этому пользователю писать в проект.

Может кто-нибудь помочь?

1 Ответ

1 голос
/ 27 апреля 2011

Это похоже на ту же или ту же ошибку, что и упомянутая здесь в версиях ниже 1.5. Я очень рекомендую обновить ваши репозитории и версию SVN до 1.6. Это может быть немного болезненно, так как вам придется выгрузить и загрузить весь репозиторий. Хорошее руководство по переносу вашего хранилища здесь . Если ваш репо небольшой, это не слишком долгий процесс (я сделал это в корпоративной среде).

Альтернативой может быть использование apache в качестве хоста сервера SVN.

EDIT:

После просмотра журналов изменений SVN я нашел это в 1.4.3 Изменениях :

исправлено: для авторизации требуется доступ на чтение для root для записи (выпуск № 2486)

Это звучит как ваша проблема. Так что предположительно это следует исправить после версии 1.4.3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...