SVN'ye nasıl kullanıcı eklerim?


12

GÜNCELLEME 3: Sanırım buldum.
/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 biçimindedir

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

Kullanıcıları eklemek için bazı komut satırı araçları kullandığımı hissediyorum ama ne olduğunu hatırlayamıyorum.

GÜNCELLEME # 2: http.conf'u bulun bu sonuçları verir

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

İkisinde de yıkımla ilgili görünen hiçbir şey görmüyorum. Yardımcı olursa dosyaları buraya gönderebilirim.

orijinal soru:

Birkaç yıl önce yıkımı kurdum ve kurdum. Bir kullanıcıyı nasıl eklediğimi hatırlamıyorum. Şimdi bir tane daha eklemem gerekiyor, ancak passwddosyayı kontrol ettiğimde hiçbir kullanıcı tanımlı değildi, ne de svnserve.confdosyada ayarlanmış bir şey yoktu - her ikisi de yorum yaptı. Google üzerinden kullanıcı eklemenin tek yolu bu. Bu yüzden denedim:

passwd

user1 = password1
user2 = password2

svnserve.conf

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

ancak linux sunucusundaki bir kullanıcı user1olmasa user1da , sadece ona erişebiliyorum . Kullanıcı eklemenin başka bir yolu var mı yoksa yapılandırmamda bir sorun mu var?

Güncelleme:

Svnserve.conf dosyama aşağıdaki satırı ekledim

authz-db = authz

o zaman authz dosyam şöyle görünüyor

authz [gruplar] devs = kullanıcı1, kullanıcı2

[repos:/]
devs = rw

hala çalışmıyor. pass1'de user1 için parola, oturum açmak için kullandığımdan farklı. Bu yüzden yıkımın kimlik doğrulama için hiç kullanılmadığını düşünüyorum. özellikle dosya daha önce boş olduğundan ve hala giriş yapabildim. kimlik doğrulama için svnserve, passwd, authz dosyalarını kullandığından emin olmanın bir yolu var mı? bir yerde başka bir yapılandırma dosyası var mı?

Yanıtlar:


8

Subversiyon kimlik doğrulamasının tipik olarak iki bölümü vardır. Birincisi, bir tür şifre deposudur. İkincisi bir erişim kontrol listesidir. Parola listesi, kullanıcıların kimliğini doğrulamak ve şifrelerini kontrol etmek için kullanılır, ancak hangi kullanıcıların hangi kaynaklara erişebileceğini de ayarlamanız gerekir.

Birkaç şifre deposu türü vardır. Ben passwd türü ile aşina değilim , apache kullanıcı kimlik doğrulaması için yaptığı aynı kullanıcı / şifre dosyalarını kullanan htpasswd türünü kullanın . İle bu dosyaya kullanıcılar ekliyorum htpasswd .htpasswd username. Parola türünüz için bu adımı doğru yapmış olabilirsiniz.

İkinci bölüm ACL'dir. Subversion, accessher deponuz için bölümler içeren bir yere sahip bir dosyaya sahip olmalıdır . Bu username = rwkullanıcıya o depoya okuma / yazma erişimi vermek için erişmek istediğiniz havuzun altına bir satır eklemeniz gerekir .


Eve geldiğimde bunu deneyeceğim. kulağa tanıdık geliyor.
scott

Bence bu değil. sunucumda .htpasswd dosyası yoktu.
scott

6

SVN sunucusu yapılandırması (temel olarak) üç dosyadan oluşur:

  • Yetkilendirme
  • passwd
  • svnserve.conf Bu ana dosyadır (authz-db = authz)

Bize sadece iki yapılandırma dosyası sağlıyorsunuz, lütfen authz dosyasının içerdiğini kontrol edin:

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

proje testi için erişim izni vermek istiyorsunuz


Ben işe yaramadı bunu denedim. user1 olarak oturum açmak için kullandığım parola, passwd dosyasındaki paroladan farklı. bu yüzden hiç kullandığını sanmıyorum.
scott

lütfen doğru yapılandırma dosyasını kullandığınızdan emin olun: çıktısı neps aux|grep svn
Sergey

Ve bir soru daha. Depo dizini yapınızı (svn: // veya http sunucusu üzerinden) nasıl edinebilirsiniz?
Sergey

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

http sunucusu üzerinden
scott

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

New password:

Re-type new password:

Adding password for user testuser2

Not: Dosyada kullanılanla aynı dosya ve yol adını kullanın subversion.conf. Bu örnekte /etc/svn-auth-usersdosya kullanılmıştır.


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

Daha sonra şifreyi soracak ve şifreyi onaylayacaktır.


1

komutu kullanabilirsiniz,

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX kullanıcı adıydı, ardından şifreyi soracak

Bu sadece svn apv ile kuruyorsanız, svn conf klasörlerini okumazsanız kullanıcı adı parola conf dosyaları

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.