Как добавить пользователя в 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

Я не вижу в них ничего такого, что выглядело связанным с подрывной деятельностью. Я могу выложить файлы здесь, если это поможет.

оригинальный вопрос:

Несколько лет назад я установил и настроил Subversion. Я не помню, как я добавил пользователя. Мне нужно добавить еще один, но когда я проверил passwdфайл, не было определено ни одного пользователя, и ничего не было установлено в svnserve.confфайле - оба закомментировали все. Это единственный способ добавить пользователей через Google. Итак, я попробовал это:

ПАРОЛЬ

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 отличается от passwd, чем я использую для входа в систему. Так что я думаю, что Subversion вообще не использует это для аутентификации. тем более, что файл был пуст и раньше, и я все еще мог войти в систему. Есть ли способ убедиться, что он использует файлы svnserve, passwd, authz для аутентификации? где-то есть другой файл конфигурации?

Скот
источник

Ответы:

8

Аутентификация Subversion обычно состоит из двух частей. Первый - это хранилище паролей. Второй список контроля доступа. Список паролей используется для аутентификации пользователей и проверки их паролей, но вы также должны указать, какие пользователи имеют доступ к каким ресурсам.

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

Вторая часть - это ACL. В Subversion должен быть файл, называемый accessгде-то с разделами для каждого из ваших репозиториев. Вам нужно будет добавить строку в репозиторий, username = rwк которому вы хотите получить доступ, чтобы предоставить этому пользователю доступ на чтение / запись к этому репозиторию.

Калеб
источник
Я попробую, когда вернусь домой. это звучит знакомо.
Скотт
Я не думаю, что это так. На моем сервере не было файла .htpasswd.
Скотт
6

Конфигурация сервера SVN (в основном) состоит из трех файлов:

  • AuthZ
  • ПАРОЛЬ
  • svnserve.conf Это основной файл (authz-db = authz)

Таким образом, вы просто предоставляете нам два файла конфигурации, пожалуйста, убедитесь, что файл authz содержит:

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

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

Сергей
источник
Я попробовал это, это не сработало. пароль, который я использую для входа в систему как user1, отличается от того, который у меня есть в файле passwd. так что я не думаю, что он использует это вообще.
Скотт
пожалуйста, проверьте, что вы используете правильный файл конфигурации: для чего выводps aux|grep svn
Сергей
И еще один вопрос. Как вы получаете структуру каталогов репозитория (svn: // или через http-сервер)?
Сергей
root 19578 0.0 0.3 4016 664 tty1 R+ 05:15 0:00 grep svn
Скотт
через http сервер
Скотт
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файл.

user139264
источник
2
htpasswd -m /etc/subversion/svn-auth-file yourusername

Затем он запросит пароль и подтвердит пароль.

Тест Тест
источник
1

вы можете использовать команду,

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX было имя пользователя, тогда он попросит пароль

это только если вы настраиваете svn с apache, который не читает папки svn conf имя пользователя пароль conf файлы

Супун Самеера
источник