W folderze svn \ repos \ YourRepo \ conf znajdziesz dwa pliki, authz i passwd . To są dwa, które musisz dostosować.
W pliku passwd musisz dodać nazwy użytkownika i hasła. Zakładam, że już to zrobiłeś, ponieważ masz ludzi, którzy go używają:
[users]
User1=password1
User2=password2
Następnie chcesz przypisać uprawnienia zgodnie z plikiem autoryzacji :
Utwórz żądane grupy koncepcyjne i dodaj do nich osoby:
[groups]
allaccess = user1
someaccess = user2
Następnie wybierz, jaki mają dostęp zarówno z poziomu uprawnień, jak i projektu.
Dajmy więc naszym facetom „pełny dostęp” cały dostęp z poziomu głównego:
[/]
@allaccess = rw
Ale daj tylko naszym facetom z „pewnym dostępem” dostęp tylko do odczytu do jakiegoś projektu niższego poziomu:
[/someproject]
@someaccess = r
Znajdziesz także prostą dokumentację w plikach authz i passwd .
@groupname
tym, co mnie ugryzło podczas definiowania reguł, jest to doskonałe w twoich przykładach, po prostu wskazując.@Stephen Bailey
Aby uzupełnić swoją odpowiedź, możesz również przekazać prawa użytkownika kierownikowi projektu za pośrednictwem zwykłego pliku tekstowego w repozytorium.
Aby to zrobić, skonfiguruj swoją bazę danych SVN z domyślnym
authz
plikiem zawierającym:Ten domyślny
authz
plik upoważnia administratorów SVN do modyfikowania widocznego zwykłego pliku tekstowego w repozytorium SVN o nazwie „/admin/acl_descriptions.txt” , w którym administratorzy SVN lub kierownicy projektów będą modyfikować i rejestrować użytkowników.Następnie ustawiasz punkt zaczepienia przed zatwierdzeniem, który wykryje, czy wersja składa się z tego pliku (i tylko z tego pliku).
Jeśli tak, skrypt tego przechwytu sprawdzi zawartość zwykłego pliku tekstowego i sprawdzi, czy każda linia jest zgodna ze składnią SVN.
Następnie hak po zatwierdzeniu zaktualizuje
\conf\authz
plik z konkatenacją :authz
plik SZABLON przedstawiony powyżej/admin/acl_descriptions.txt
Pierwsza iteracja jest wykonywana przez administratora SVN, który dodaje:
Zatwierdza swoją modyfikację, a to aktualizuje
authz
plik.Następnie kierownik projektu „zzzz” może dodawać, usuwać lub deklarować dowolną grupę użytkowników i dowolnych użytkowników, których chce. Zatwierdza plik, a
authz
plik jest aktualizowany.W ten sposób administrator SVN nie musi indywidualnie zarządzać wszystkimi użytkownikami dla wszystkich repozytoriów SVN .
źródło
Jeden chwyt, który mnie złapał:
ale
Nie musisz umieszczać końcowego ukośnika w katalogu, w przeciwnym razie zobaczysz 403 dla żądania OPTIONS.
źródło
Możesz użyć svn + ssh :, a wtedy opiera się to na kontroli dostępu do repozytorium w podanej lokalizacji.
W ten sposób hostuję repozytorium grup projektowych na moim uniwersytecie, gdzie nie mogę skonfigurować niczego innego. Samo posiadanie katalogu należącego do grupy i uruchomienie w nim svn-admin (lub cokolwiek to było) oznacza, że nie musiałem wykonywać żadnej konfiguracji.
źródło
Chociaż sugerowałbym, że podejście Apache jest lepsze, SVN Serve działa dobrze i jest dość proste.
Zakładając, że repozytorium nazywa się „my_repo” i jest przechowywane w C: \ svn_repos:
Utwórz plik o nazwie „passwd” w „C: \ svn_repos \ my_repo \ conf”. Ten plik powinien wyglądać następująco:
W C: \ svn_repos \ my_repo \ conf \ svnserve.conf ustaw:
Zmusi to użytkowników do logowania się w celu odczytu lub zapisu w tym repozytorium.
Wykonaj te kroki dla każdego repozytorium, uwzględniając tylko odpowiednich użytkowników w
passwd
pliku dla każdego repozytorium.źródło
Najlepszym sposobem jest skonfigurowanie Apache i ustawienie dostępu przez niego. Poszukaj pomocy w książce svn . Jeśli nie chcesz używać Apache, możesz również wykonać minimalistyczną kontrolę dostępu za pomocą svnserve.
źródło
Apache Subversion obsługuje autoryzację opartą na ścieżkach, która pomaga konfigurować szczegółowe uprawnienia dla kont użytkowników i grup na ścieżkach w repozytoriach (pliki lub katalogi). Autoryzacja oparta na ścieżkach obsługuje trzy poziomy dostępu - bez dostępu, tylko do odczytu i do odczytu / zapisu.
Uprawnienia do autoryzacji na podstawie ścieżek są przechowywane w plikach autoryzacji na repozytorium lub na serwer o specjalnej składni. Oto przykład z SVNBook:
Jeśli potrzebujesz złożonej struktury uprawnień z wieloma ścieżkami i kontami, możesz skorzystać z narzędzi do zarządzania uprawnieniami opartego na graficznym interfejsie użytkownika, udostępnianych przez VisualSVN Server:
Uprawnienia do repozytorium w programie VisualSVN Server Manager
Uprawnienia do repozytorium w programie PowerShell
Użytkownicy niebędący administratorami mogą zarządzać uprawnieniami za pomocą narzędzia RepoCfg
źródło