Jak dodać użytkownika w SVN?


12

AKTUALIZACJA # 3: Myślę, że go znalazłem.
/etc/httpd/conf.d/subversion.conf

<Location /repos>
        DAV svn
        SVNPath /var/www/svn/repos
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

svn-auth-conf ma format

user1:$apr1$randome letters ... $random letters and numbers

Wydaje mi się, że użyłem narzędzia wiersza polecenia, aby dodać użytkowników, ale nie pamiętam, co.

AKTUALIZACJA # 2: zlokalizuj http.conf daje te wyniki

/usr/share/logwatch/default.conf/logfiles/http.conf
/usr/share/logwatch/default.conf/services/http.conf

W żadnym z nich nie widzę nic, co wyglądałoby na związane z subwersją. Mogę opublikować pliki tutaj, jeśli to pomoże.

oryginalne pytanie:

Kilka lat temu zainstalowałem i skonfigurowałem subversion. Nie pamiętam, jak dodałem użytkownika. Muszę teraz dodać kolejną, ale kiedy sprawdziłem passwdplik, nie zdefiniowano żadnych użytkowników, ani nie było w nim niczego ustawionego svnserve.conf- obaj wszystko skomentowali. To jedyny sposób, aby dodać użytkowników za pośrednictwem Google. Więc spróbowałem:

passwd

user1 = password1
user2 = password2

svnserve.conf

anon-access = none
auth-access = write
pasword-db = passwd
authz-db - authz
realm = repos

ale nadal mogę uzyskać do niego dostęp tylko user1, mimo że user1nie jest użytkownikiem na serwerze Linux. Czy istnieje jakiś inny sposób dodawania użytkowników lub mam coś złego w mojej konfiguracji?

aktualizacja:

Dodałem następujący wiersz do mojego pliku svnserve.conf

authz-db = authz

wtedy mój plik authz wygląda tak

authz [grupy] devs = użytkownik1, użytkownik2

[repos:/]
devs = rw

wciąż nie działa. hasło dla user1 jest inne w passwd niż ja używam do logowania. Myślę więc, że subversion w ogóle nie używa tego do uwierzytelniania. zwłaszcza, że ​​plik był wcześniej pusty i nadal mogłem się zalogować. czy jest jakiś sposób, aby upewnić się, że używa on do uwierzytelniania plików svnserve, passwd, authz? czy jest gdzieś inny plik konfiguracyjny?

Odpowiedzi:


8

Uwierzytelnianie Subversion zwykle składa się z dwóch części. Pierwszy to pewnego rodzaju repozytorium haseł. Druga to lista kontroli dostępu. Lista haseł służy do uwierzytelniania użytkowników i sprawdzania ich haseł, ale musisz także określić, którzy użytkownicy mają dostęp do jakich zasobów.

Istnieje kilka typów repozytoriów haseł. Nie jestem zaznajomiony z typem passwd , używam typu htpasswd, który używa tych samych plików użytkownika / hasła, co apache do uwierzytelnienia użytkownika. Dodaję użytkowników do tego pliku za pomocą htpasswd .htpasswd username. Wygląda na to, że poprawnie wykonałeś ten krok dla swojego typu hasła.

Druga część to ACL. Subversion powinien mieć plik wywoływany accessgdzieś z sekcjami dla każdego z twoich repozytoriów. Musisz dodać linię pod repozytorium, do którego chcesz uzyskać dostęp, username = rwaby dać temu użytkownikowi dostęp do odczytu / zapisu do tego repozytorium.


spróbuję, kiedy wrócę do domu. to brzmi znajomo.
Scott

Nie sądzę, że to jest to. na moim serwerze nie było pliku .htpasswd.
Scott

6

Konfiguracja serwera SVN (głównie) składa się z trzech plików:

  • authz
  • passwd
  • svnserve.conf To jest plik główny (authz-db = authz)

Więc dostarczasz nam tylko dwa pliki konfiguracyjne, sprawdź, czy plik authz zawiera:

#[the_name_of_repository:/path_in_that_repository]
[test:/]
user1 = rw
user2 = rw

do testu projektu, który chcesz przyznać dostęp


Próbowałem tego, to nie zadziałało. hasło, którego używam do logowania się jako użytkownik1, jest inne niż to, które mam w pliku passwd. więc nie sądzę, że w ogóle go używa.
Scott

sprawdź, czy używasz odpowiedniego pliku konfiguracyjnego: jaki jest wynikps aux|grep svn
Sergey

I jeszcze jedno pytanie. Jak uzyskać strukturę katalogu repos (svn: // lub przez serwer HTTP)?
Sergey

root 19578 0.0 0.3 4016 664 tty1 R+ 05:15 0:00 grep svn
Scott

przez serwer http
scott

4
## Create testuser ##
htpasswd -m /etc/svn-auth-users testuser

New password:

Re-type new password:

Adding password for user testuser2

Uwaga: Użyj dokładnie tej samej nazwy pliku i ścieżki, co w subversion.confpliku. W tym przykładzie użyto /etc/svn-auth-userspliku.


2
htpasswd -m /etc/subversion/svn-auth-file yourusername

Następnie poprosi o hasło i potwierdzi hasło.


1

możesz użyć polecenia,

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX była nazwą użytkownika, a następnie poprosi o hasło

dzieje się tak tylko wtedy, gdy skonfigurujesz svn z apache, który nie czyta svn conf folderów nazwa użytkownika hasło conf pliki

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.