2011-07-19 9 views
5

Zastanawiałem się, czy możliwe jest, aby korzystać z grup wymienionych w np plik apache authgroup w allow_read i/lub allow_push itpKorzystanie z grup w allow_read Mercurial, w allow_push itp

Więc w zasadzie to, co robię jest używam apache z plikiem authfile i authgroup do uwierzytelnienia użytkowników. Teraz chcę ograniczyć niektóre repozytoria za pomocą allow_read z pokazywane użytkownikom w określonej grupie określonej w pliku authgroup.

Załóżmy, że mam plik sam, frodo i sauron w moim pliku auth i mam grupę hobbitów zawierającą sam i frodo w pliku authgroup.

Więc zamiast pisać:

allow_read = Frodo, Sam

Próbowałem

allow_read = @hobbits

ale to nie wydają się działać. Czy ktokolwiek wie, czy jest to faktycznie obsługiwane? Pomysł polega na tym, że powiedzmy, że 10 repozytoriów nadaje się tylko do odczytu dla hobbitów i dodaję hobbita, że ​​muszę zmienić plik authgroup i auth, a nie każdy plik hgrc repozytorium.

góry dzięki

Odpowiedz

0

Wydaje się, trzeba zrobić swoją grupę kontroli w Apache zamiast w hgrc plików, ponieważ documentation for hgrc wymienia tylko nazwy użytkownika.

Będziesz potrzebował przeczytać o Configuring Apache na stronie Repozytoria publikowania. Sekcja 7.4 wydaje się zawierać informacje potrzebne do skonfigurowania tego, co chcesz.

+0

Nie do końca jestem tym czego potrzebuję Obawiam się. Na przykład, powiedzmy, że mam 2 repozytoria, podczas gdy pierwszy powinien być widoczny i dostępny tylko dla hobbitów, a drugi tylko dla _onobitów_. Ponieważ z apache i powiedzmy _LimitExcept_ mogę kontrolować tylko metody dostępu _GET_, _POST_ itp. Dla strony repozytorium nie dla każdego repozytorium – stryba

+0

Powodem, dla którego uważałem, że byłoby to pomocne, są tam przykłady, które wskazują, że musisz podzielić swoje * hobbitów * i * niehobbitów * repos w całkowicie oddzielne katalogi z własnymi konfiguracjami (7.4.4 było najmocniejszą wskazówką). Czy ograniczenia w jednym katalogu nie miałyby wpływu na dostęp do repo w tym katalogu? –

+0

Przypuszczam, że ograniczenie do jednego katalogu może mieć wpływ na dostęp do repozytoriów.Problem polega jednak na tym, że problem grupy _hobbit_ _onobobbit_ jest bardzo uproszczonym przykładem konglomeracji, które mogę napotkać. Tak jak powiedziałem, najłatwiej byłoby uzyskać wsparcie grupowe w sekcji web pliku _hgrc_ repozytorium. Ale wydaje się, że nie jest to teraz możliwe. – stryba

2

Mercurial nie ma wbudowanego wsparcia dla grup. Istnieje łata od użytkownika, która dodaje obsługę grup, ale koderom wydawało się, że domyślnie nie jest ona włączona, chcą, aby autor robił zamiast tego wtyczkę. Od kwietnia 2013 r. Oni seem to have accepted it, ale nadal nie widzę żadnego śladu w wersji aktualnie dostarczanej z Ubuntu (2.7).

Kontrolowanie grup w Apache, jak sugeruje Joel, nie daje żadnej precyzyjnej kontroli ziarnistości, gdy masz więcej niż jedno repozytorium, więc nie ma sensu (przynajmniej nie dla mnie).

Do tego celu użyłem narzędzia open source SCM-Manager. SCM-Manager działa jako frontend dla SVN, Git i Mercurial i obsługuje różne katalogi użytkowników (w tym LDAP i Crowd), jak również własny katalog użytkowników.

Używam mod_proxy do zintegrowania go w mojej konfiguracji Apache i działa całkiem nieźle.