Як додати користувача у SVN?


12

ОНОВЛЕННЯ №3: Я думаю, що я знайшов це.
/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 у форматі

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

Мені здається, я використовував якийсь інструмент командного рядка, щоб додати користувачів, але не можу пригадати, що.

ОНОВЛЕННЯ №2: пошук http.conf дає ці результати

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

Я не бачу нічого в жодному з них, що виглядало б пов'язаним із підривом. Я можу розмістити файли тут, якщо це допоможе.

оригінальне запитання:

Кілька років тому я встановив і налаштував підривну роботу. Я не пам'ятаю, як я додав користувача. Мені потрібно додати ще один, але коли я перевірив passwdфайл, не було визначено користувачів, а також у svnserve.confфайлі нічого не було встановлено - і те, і інше все прокоментувало. Це єдиний спосіб, коли я можу додати користувачів через google. Тому я спробував це:

passwd

user1 = password1
user2 = password2

svnserve.conf

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

але я все ще можу отримати доступ до нього лише за допомогою user1, хоча user1це не користувач на сервері linux. Чи є якийсь інший спосіб додати користувачів або я щось не так у своїй конфігурації?

оновлення:

Наступний рядок я додав у свій файл svnserve.conf

authz-db = authz

тоді мій файл authz виглядає так

authz [groups] devs = user1, user2

[repos:/]
devs = rw

все ще не працює. пароль для user1 в паролі відрізняється, ніж я використовую для входу. Тому я думаю, що субверсія взагалі не використовує це для аутентифікації. тим більше, що файл раніше був порожнім, і я все ще зміг увійти. чи є спосіб переконатися, що він використовує файли svnserve, passwd, authz для аутентифікації? чи є десь інший конфігураційний файл?

Відповіді:


8

Підривна аутентифікація зазвичай складається з двох частин. Перший - якесь сховище паролів. Другий - список контролю доступу. Список паролів використовується для автентифікації користувачів та перевірки їх паролів, але ви також повинні встановити, яким користувачам надається доступ до яких ресурсів.

Існує кілька типів сховищ паролів. Я не знайомий з типом passwd , я використовую тип htpasswd, який використовує ті самі файли користувачів / паролів, які робить apache для автентифікації користувача. Я додаю користувачів до цього файлу за допомогою htpasswd .htpasswd username. Схоже, ви, можливо, зробили цей крок правильно для свого типу пароля.

Друга частина - ACL. Субверсія повинна мати файл, який називається accessдесь із розділами для кожного вашого сховища. Вам потрібно буде додати рядок до сховища, до якого ви хочете отримати доступ, username = rwщоб надати цьому користувачеві доступ для читання / запису до цього сховища.


я спробую, коли повернусь додому. це звучить знайомо.
scott

Я не думаю, що це все. на моєму сервері не було файлу .htpasswd.
скотт

6

Конфігурація сервера SVN (в основному) складається з трьох файлів:

  • authz
  • passwd
  • svnserve.conf Це основний файл (authz-db = authz)

Отже, ви просто надаєте нам два конфігураційні файли, переконайтеся, що файл authz містить:

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

для тесту проекту ви хочете надати доступ


Я спробував це не вийшло. пароль, який я використовую для входу як user1, відрізняється від пароля, який я маю у файлі passwd. тому я не думаю, що це взагалі використовується.
scott

перевірте, чи використовуєте ви правильний файл конфігурації: для чого вихідps aux|grep svn
Сергій

І ще одне питання. Як отримати структуру каталогу repos (svn: // або на сервері http)?
Сергій

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

через http сервер
scott

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

New password:

Re-type new password:

Adding password for user testuser2

Примітка. Використовуйте точно таку саму назву файла та шлях, як і subversion.confфайл. У цьому прикладі використовується /etc/svn-auth-usersфайл.



1

ви можете використовувати команду,

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX було ім'ям користувача, тоді він запитає пароль

це лише в тому випадку, якщо ви встановлюєте svn за допомогою апачу, який не читає файли конфігурації файлів svn з конфігураційними файлами

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.