Вопрос

Скажем, я хочу предотвратить доступ к определенным пользователям в определенных папках в моем репо SVN. Я просто:

[/]
* = rw

[/NewSecretFolder]
* = rw
some_poor_sap = 

Но что, если эта папка была переименована из SecretFolder в NewseCretFolder? Сможет ли пользователь SOME_POOR_SAP получить доступ к истории /SecretFolder?

Это было полезно?

Решение

Да, он сможет тогда. Тебе нужно сделать

[/]
* =

А затем разрешайте доступ к необходимым пользователям, где это необходимо. Вот как я это делаю.

Другие советы

А authz Механизм авторизации файлов полностью основан на пути и игнорирует различные имена, которые объект может иметь в других изменениях. Поэтому, когда вы получаете доступ к репозиторию при определенной ревизии, разрешения будут применяться в соответствии с именами папок при этом ревизии.

Поэтому, когда у меня есть эти разрешения:

[/]
* = r

[/MyProject]
* = 
devs = rw

И я переименую проект MyRenamedProject, тогда я меняю разрешения как это:

[/]
* = r

[/MyProject]
* = 
devs = r

[/MyNewProject]
* = 
devs = rw

Здесь я держал старый путь проекта в authz Файл и предоставлен доступ к чтению, чтобы убедиться, что разработчики всегда могут прочитать историю проекта до переименования.

Также обратите внимание, что мы всегда предоставляем хотя бы доступ к корню, а затем снова убираем его с помощью * = В разрешении проекта, чтобы обойти странный svn copy вопросы. Анкет Я подозреваю, что это актуально только в том случае, если вы используете Apache для размещения SVN.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top