SVN authz, проблемы аутентификации на основе пути - PullRequest
7 голосов
/ 11 июня 2009
[groups]
developer = a,b,c
doc = r,x

[/doc]
@doc = rw
@developer = rw

[/]
@developer = rw
* =

Если теперь член группы документов пытается проверить документацию, он не работает. Я хочу, чтобы члены doc имели возможность проверить doc-документ, все остальное запрещено. Есть идеи, как этого добиться?

С уважением Ronny

[обновление]

клиент: svn, версия 1.5.4 (r33841) сервер: svn, версия 1.4.6 (r28521)

доступ через svn + ssh: / user @ host / fullpath-to-repos

  • 1 отлично работает два года
  • 2 может быть - см. Номера версий выше (я сразу же оставлю наш админ)
  • 3 нет? просто SSH
  • 4 Нет
  • 5 Нет

[обновление]

  • с использованием клиентской версии SVN 1.4.6 (r28521) тоже не работает - те же ошибки
  • Я использую простой доступ к командной строке. svn co svn + ssh: //....

[обновление]

  • сервер: Linux 2.6.16.60-0.39.3-default9 i686 athlon i386 GNU / Linux - suse 10? или что-то в этом роде я думаю
  • клиент: Kubuntu 9.04
  • подключение через SSSS-клиент OpenSSH
  • сервер отклоняет svn: // соединения с локального хоста - любое соединение --- скоро попробуем с копией дома

[обновление 4] * это не мой собственный сервер, я не могу делать то, что я хочу с ним. Это очень старый сервер, работающий по крайней мере 10 лет, с сотнями пользователей. Стандартные вещи должны работать. поправьте меня, если я что-то упустил.

[обновление 5] хочешь верь, хочешь нет. Я использовал неправильный путь, и теперь все работает отлично, Извините, что потратил впустую ваше время. Я передам вознаграждение FoxyBOA за его работу.

Ответы [ 3 ]

3 голосов
/ 14 мая 2010

Истинный способ сделать это здесь:

[groups]
developer = a,b,c
doc = r,x

[doc:/]
* =  
@doc = rw
@developer = rw

[otherPath:/]
* =
@developer = rw
@doc = r

[/] 
* = rw
2 голосов
/ 11 июня 2009

Какие URL-адреса @doc участники пытаются оформить?

[ОБНОВЛЕНО]

Не могли бы вы предоставить дополнительную информацию: версию SVN на сервере и на стороне клиента. Как ваши клиенты пытаются подключиться к серверу SVN (например, из Eclipse с использованием библиотеки subclipse, командной строки и т. Д.).

  1. Если вы используете svn + ssh, ваш пользователь должен иметь действительный доступ к вашему серверу. У ваших пользователей правильная оболочка (например, bash, tcsh и т. Д.)? / bin / false и другие поддельные оболочки не будут работать с типом подключения svn + ssh.

  2. Другая проблема, с которой вы можете столкнуться - разные версии SVN на сервере и на стороне клиента (например, сервер 1.4, клиент 1.5, которые пытаются подключиться с использованием технологий 1.5).

  3. Используете ли вы аутентификацию SASL с SVN?

  4. Используете ли вы туннелирование ?

  5. Используете ли вы уловки конфигурации ssh , описанные в svn docs ?

[UPDATED2]

  1. Вы подключаетесь к SVN из командной строки или используете IDE? Если вы используете IDE, пожалуйста, назовите ее и предоставьте информацию о том, какое дополнение / библиотека / и т.д. вы используете для подключения к серверу SVN.

[UPDATED3]

  1. Не могли бы вы создать тестовую учетную запись и временно попытаться получить доступ к серверу SVN без ssh? Просто используя простой протокол svn: //. Если это работает, проблема в ssh, если это терпит неудачу - svn.
  2. Какой инструмент вы используете для подключения по ssh и с какой ОС вы работаете?

[UPDATE4] - Вы уверены, что ваш сервер SVN запущен? Если ваш svn работает на стандартном порту, попробуйте подключиться напрямую к порту svn с сервера локально:

telnet localhost 3690
  • Если это работает, попробуйте подключиться с клиента (т.е. telnet ip_server 3690).

  • Если telnet на сервере работает, но telnet от клиента не работает, проверьте брандмауэры, маршрутизаторы и т. Д.

  • В случае сбоя telnet на сервере. Попробуйте перезапустить сервер SVN и проверить журналы сервера.

[UPDATE5]

По-моему, ваш svn-сервер остановлен. Не могли бы вы проверить, если служба SVN видна локально (telnet с localhost до 3690) и удаленно. Если служба SVN работает правильно в обоих случаях, вы должны получить что-то вроде

(успех (1 2 (анонимно) (edit-pipe)))

0 голосов
/ 15 июня 2009

«Я использую SVN + SSH ... странная вещь»

svn + ssh использует ssh для подключения, затем запускает svnserve в туннельном режиме

При беге по туннелю, авторизация в первую очередь контролируется по разрешениям операционной системы на файлы базы данных хранилища; это очень почти так же, как если бы Гарри был доступ к хранилищу напрямую через файл: // URL.

svnserve документация

Другими словами, он игнорирует настроенную вами конфигурацию.

...