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

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

Нам понадобится разместить серию репозиториев Mercurial. Для безопасности мы будем использовать SSL-шифрование в Apache и доступ через htpasswd (обязательно). Я протестировал единственный репозиторий и использовал hgwebdir.cgi и использовал hgweb.config для определения пути к репозиторию и allow_push и deny_push директивы, но эта тестовая установка привела только к большему количеству вопросов / проблем:

Я не вижу способа создать отдельную группу разрешений / запретов для каждого отдельного репозитория? что важно, я не вижу способа allow_pull deny_pull - что очень важно, поскольку в каждом репозитории есть свой набор пользователей, которым должно быть разрешено читать или писать. Мы хотели бы сохранить один htpasswd файл для всех пользователей.

Я думаю, что вам, вероятно, не хватает того, что вполне допустимо создать .hg/hgrc файл внутри каждого репозитория, и эти файлы могут содержать allow_push и allow_read записи.

Меркуриал-сервер - отличный способ разместить множество репозиториев Mercurial с разными требованиями к доступу для репозиториев.

Если вы решите, что это не для вас, вам следует взглянуть на ACL расширение Mercurial.

Я думаю лучший способ allow_pull или deny_pull - настроить аутентификацию httpd с помощью файла htpasswd. Вы можете использовать любой из mod_auth здесь механизмы, позволяющие каждому пользователю тянуть или толкать.

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

Более подробную информацию можно найти в Mercurial wiki.