Bagaimana cara menambahkan pengguna di SVN?

12

UPDATE # 3: Saya rasa saya menemukannya.
/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 dalam format

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

Saya merasa seperti saya menggunakan beberapa alat baris perintah untuk menambahkan pengguna tetapi saya tidak ingat apa.

UPDATE # 2: cari http.conf memberikan hasil ini

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

Saya tidak melihat apa pun di antara mereka yang tampak terkait dengan subversi. Saya dapat memposting file di sini jika itu akan membantu.

pertanyaan asli:

Beberapa tahun yang lalu, saya menginstal dan mengatur subversi. Saya tidak ingat bagaimana saya menambahkan pengguna. Saya perlu menambahkan yang lain sekarang, tetapi ketika saya memeriksa passwdfile tidak ada pengguna yang ditentukan, juga tidak ada yang diatur dalam svnserve.conffile - keduanya semuanya berkomentar. Itulah satu-satunya cara saya dapat menemukan untuk menambahkan pengguna melalui google Jadi saya mencobanya:

sandiwara

user1 = password1
user2 = password2

svnserve.conf

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

tapi saya masih bisa mengaksesnya dengan user1, meskipun user1bukan pengguna di server linux. Apakah ada cara lain untuk menambah pengguna atau apakah ada yang salah dalam konfigurasi saya?

memperbarui:

Saya telah menambahkan baris berikut ke file svnserve.conf saya

authz-db = authz

maka file authz saya terlihat seperti ini

authz [grup] devs = user1, user2

[repos:/]
devs = rw

masih tidak berfungsi. kata sandi untuk pengguna1 berbeda dalam sandi daripada yang saya gunakan untuk masuk. Jadi saya pikir subversi tidak menggunakan itu untuk otentikasi sama sekali. terutama karena file itu kosong sebelumnya dan saya masih bisa masuk. apakah ada cara untuk memastikan menggunakan file svnserve, passwd, authz untuk otentikasi? apakah ada file konfigurasi lain di suatu tempat?

scott
sumber

Jawaban:

8

Otentikasi subversi biasanya memiliki dua bagian. Yang pertama adalah semacam repositori kata sandi. Yang kedua adalah daftar kontrol akses. Daftar kata sandi digunakan untuk mengautentikasi pengguna dan memeriksa kata sandi mereka, tetapi Anda juga harus mengatur pengguna mana yang memiliki akses ke sumber daya mana.

Ada beberapa jenis repositori kata sandi. Saya tidak familier dengan tipe passwd , saya menggunakan tipe htpasswd yang menggunakan file pengguna / kata sandi yang sama seperti yang dilakukan apache untuk otentikasi pengguna. Saya menambahkan pengguna ke file ini dengan htpasswd .htpasswd username. Sepertinya Anda mungkin telah melakukan langkah ini dengan benar untuk jenis kata sandi Anda.

Bagian kedua adalah ACL. Subversi harus memiliki file yang disebut di accesssuatu tempat dengan bagian untuk masing-masing repositori Anda. Anda perlu menambahkan baris di bawah repositori yang ingin Anda akses username = rwuntuk memberikan akses baca / tulis kepada pengguna ke repositori itu.

Caleb
sumber
Saya akan mencobanya ketika sampai di rumah. itu terdengar akrab.
scott
Saya tidak berpikir ini dia. tidak ada file .htpasswd di server saya.
scott
6

Konfigurasi server SVN (terutama) terdiri dari tiga file:

  • authz
  • sandiwara
  • svnserve.conf Ini adalah file utama (authz-db = authz)

Jadi, Anda cukup memberi kami dua file konfigurasi, periksa apakah file authz berisi:

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

untuk uji proyek Anda ingin memberikan akses

Sergey
sumber
Saya mencoba ini tidak berhasil. kata sandi yang saya gunakan untuk masuk karena user1 berbeda dari yang saya miliki di file passwd. jadi saya tidak berpikir itu menggunakannya sama sekali.
scott
tolong, periksa apakah Anda menggunakan file konfigurasi yang tepat: untuk apa outputnyaps aux|grep svn
Sergey
Dan satu pertanyaan lagi. Bagaimana Anda mendapatkan struktur direktori repo Anda (svn: // atau http server http)?
Sergey
root 19578 0.0 0.3 4016 664 tty1 R+ 05:15 0:00 grep svn
scott
melalui server http
scott
4
## Create testuser ##
htpasswd -m /etc/svn-auth-users testuser

New password:

Re-type new password:

Adding password for user testuser2

Catatan: Gunakan nama file dan jalur yang sama persis seperti yang digunakan dalam subversion.conffile. Contoh ini menggunakan /etc/svn-auth-usersfile.

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

Kemudian akan meminta kata sandi dan mengonfirmasi kata sandi.

Tes tes
sumber
1

Anda dapat menggunakan perintah,

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX adalah nama pengguna, maka ia akan meminta kata sandi

ini hanya jika Anda mengatur svn dengan apache, yang tidak membaca svn conf folder nama pengguna kata sandi conf

Supun Sameera
sumber