Как ограничить пользователя в SVN доступом только к журналу изменений (нет доступа к RO) - PullRequest
0 голосов
/ 12 августа 2011

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

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

Нам необходимо это интегрировать систему управления проектами с Redmine, чтобы она автоматически обновляла состояние проблемы и могла составлять список изменений, получая сообщения журнала изменений SVN. Мы не хотим, чтобы этот пользователь имел доступ к источникам по соображениям безопасности.

У вас есть идеи? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2014

Это решение от другого вопроса .Добавьте эти строки в файл svnserve.conf:

anon-access = none
auth-access = write

Это работает из командной строки без разрешения:

enter image description here

0 голосов
/ 13 августа 2011

Wow: Это очень необычный запрос, и я не уверен, что это возможно.

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

У меня действительно нет времени, чтобы настроить полный тест, но это единственная возможность, о которой я могу думать. Как то так в авторизации. Я даже не уверен, что этот синтаксис будет на 100% правильным:

[groups]
dev = tom, dick, harry
other = bob, carol, ted, alice

[myrepos: /]
@dev = rw
@other = rw

[myrepos: /trunk]
@dev = rw
@other =

Другая возможность: использовать веб-программу или программу типа клиентского сервера для просмотра информации журнала. Например, представьте себе ограниченную программу, которая может выполнять "svn ls" или "svn log", но это все. Сервер может иметь полный доступ к хранилищу Subversion, но разрешать только ограниченные запросы.

Последняя возможность (и мое предпочтение) - использовать систему непрерывной сборки, такую ​​как Jenkins , чтобы выполнять сборку при каждой регистрации. Jenkins позволит легко увидеть, что изменилось в каждой сборке, и будет даже перечислить файлы, которые были изменены, но запретить доступ к источнику. Весьма вероятно, что этого достаточно для данной группы пользователей.

Еще лучше, Jenkins может интегрироваться с Redmine, поэтому Redmine может вносить изменения.

...