Làm cách nào để thêm người dùng trong SVN?


12

CẬP NHẬT # 3: Tôi nghĩ rằng tôi đã tìm thấy nó.
/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 có định dạng

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

Tôi cảm thấy như tôi đã sử dụng một số công cụ dòng lệnh để thêm người dùng nhưng tôi không thể nhớ những gì.

CẬP NHẬT # 2: xác định vị trí http.conf cho những kết quả này

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

Tôi không thấy bất cứ điều gì trong số chúng có liên quan đến lật đổ. Tôi có thể gửi các tập tin ở đây nếu nó sẽ giúp.

câu hỏi ban đầu:

Vài năm trước, tôi đã cài đặt và thiết lập lật đổ. Tôi không nhớ tôi đã thêm người dùng như thế nào. Tôi cần thêm một cái khác ngay bây giờ, nhưng khi tôi kiểm tra passwdtệp thì không có người dùng nào được xác định, cũng không có gì được đặt trong svnserve.conftệp - cả hai đều có nhận xét. Đó là cách duy nhất tôi có thể tìm thấy để thêm người dùng thông qua google. Vì vậy, tôi đã thử nó:

mật mã

user1 = password1
user2 = password2

svnserve.conf

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

nhưng tôi vẫn chỉ có thể truy cập nó user1, mặc dù user1không phải là người dùng trên máy chủ linux. Có một số cách khác để thêm người dùng hoặc tôi có vấn đề gì trong cấu hình của mình không?

cập nhật:

Tôi đã thêm dòng sau vào tệp svnserve.conf của mình

authz-db = authz

sau đó tập tin authz của tôi trông như thế này

authz [nhóm] devs = user1, user2

[repos:/]
devs = rw

vẫn không hoạt động. mật khẩu cho user1 khác với mật khẩu tôi sử dụng để đăng nhập. Vì vậy, tôi nghĩ rằng lật đổ hoàn toàn không sử dụng để xác thực. đặc biệt là vì tập tin trống trước đó và tôi vẫn có thể đăng nhập. Có cách nào để đảm bảo nó sử dụng các tệp svnserve, passwd, authz để xác thực không? Có tập tin cấu hình nào khác ở đâu không?

Câu trả lời:


8

Xác thực lật đổ thường có hai phần. Đầu tiên là một kho lưu trữ mật khẩu của một số loại. Thứ hai là một danh sách kiểm soát truy cập. Danh sách mật khẩu được sử dụng để xác thực người dùng và kiểm tra mật khẩu của họ, nhưng bạn cũng phải đặt người dùng nào có quyền truy cập vào tài nguyên nào.

Có một số loại kho lưu trữ mật khẩu. Tôi không quen thuộc với loại passwd , tôi sử dụng loại htpasswd sử dụng cùng một tệp người dùng / mật khẩu mà apache làm để xác thực người dùng. Tôi thêm người dùng vào tập tin này với htpasswd .htpasswd username. Có vẻ như bạn có thể đã thực hiện bước này một cách chính xác cho loại mật khẩu của mình.

Phần thứ hai là ACL. Subversion nên có một tệp được gọi accessở đâu đó với các phần cho mỗi kho lưu trữ của bạn. Bạn sẽ cần thêm một dòng bên dưới kho lưu trữ mà bạn muốn truy cập username = rwđể cung cấp cho người dùng đó quyền truy cập đọc / ghi vào kho lưu trữ đó.


Tôi sẽ thử khi tôi về nhà. Nghe có vẻ quen.
scott

Tôi không nghĩ rằng đây là nó. không có tệp .htpasswd trên máy chủ của tôi.
scott

6

Cấu hình máy chủ SVN (chủ yếu) bao gồm ba tệp:

  • tự động
  • mật mã
  • svnserve.conf Đây là tệp chính (authz-db = authz)

Vì vậy, bạn chỉ cần cung cấp cho chúng tôi hai tệp cấu hình, vui lòng kiểm tra xem tệp authz có chứa:

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

đối với thử nghiệm dự án, bạn muốn cấp quyền truy cập


Tôi đã thử nó không hoạt động. mật khẩu tôi sử dụng để đăng nhập với tên user1 khác với mật khẩu tôi có trong tệp passwd. Vì vậy, tôi không nghĩ rằng nó đang sử dụng nó.
scott

xin vui lòng, kiểm tra xem bạn có đang sử dụng đúng tệp cấu hình không: đầu ra chops aux|grep svn
Serge

Và một câu hỏi nữa. Làm thế nào để bạn có được cấu trúc thư mục repos của bạn (svn: // hoặc thông qua máy chủ http)?
Serge

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

thông qua máy chủ http
scott

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

New password:

Re-type new password:

Adding password for user testuser2

Lưu ý: Sử dụng chính xác cùng tên tệp và đường dẫn như được sử dụng trong subversion.conftệp. Ví dụ này sử dụng /etc/svn-auth-userstập tin.


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

Sau đó nó sẽ hỏi mật khẩu và xác nhận mật khẩu.


1

bạn có thể sử dụng lệnh,

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX là tên người dùng, sau đó nó sẽ hỏi mật khẩu

điều này chỉ khi bạn thiết lập svn với apache, không đọc thư mục conf của mật khẩu svn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.