Subversion: Udostępnij plik użytkownika Apache i svnserve

0

Chciałbym obsługiwać zarówno protokoły svn:, jak i http: dla serwera SVN, do którego dostęp będzie możliwy tylko w sieci. Chciałbym jednak, aby te dwa protokoły dzieliły tych samych użytkowników i hasła. Czy istnieje sposób, aby Apache i svnserve współużytkowały te same dane użytkownika przechowywane w pliku lokalnym na serwerze?

jpmc26
źródło

Odpowiedzi:

1

Czy istnieje sposób, aby Apache i svnserve współużytkowały te same dane użytkownika przechowywane w pliku lokalnym na serwerze?

Nie bezpośrednio i automatycznie, nie pojedynczy plik z bazą danych użytkownika, ale może być skryptowany i zautomatyzowany (ale w niebezpieczny sposób)

Głównym problemem są różne formaty (i rodzaj przechowywanych danych) pliku użytkownika dla Apache i svnserve

Plik passwd w Apache

user:<HASH-OF-PASSWORD>

user-db dla svnserve

[users]
user = PASSWORD

Ponieważ haszowanie jest funkcją nieodwracalną, musisz

  • Wykonaj wszystkie dodawanie i edycję użytkownika w user-db (możesz spróbować usunąć użytkowników po stronie Apache'a, ale w tym przypadku musisz wspierać synchronizację dwukierunkową, więc - suupose, user-delete tylko w user-db również będzie lepszy wybór)
  • Po każdej zmianie user-db proces-parsowanie-synchronizacja user-db z plikiem passwd: przeczytaj o htpasswd -btrybie na stronie podręcznika (być może ... -itakże o )

Tylko IMNSHO: obsługa tylko jednego serwera będzie znacznie łatwiejszym sposobem

Leniwy Borsuk
źródło
Tak, zgadzam się, że pojedynczy serwer byłby znacznie łatwiejszy. Brak argumentów. Niestety istnieje svnserve, z którego korzystają moi współpracownicy (i ja). Teraz potrzebuję serwera http, ale nie chcę łamać kasy wszystkich innych. Zastanawiam się, czy zamiast próbować zsynchronizować oba, może być prostsze posiadanie skryptu, który je generuje. W każdym razie zmiany wymagają lokalnych modyfikacji. Dzięki!
jpmc26