SVN authz, проблемы аутентификации на основе пути
[groups]
developer = a,b,c
doc = r,x
[/doc]
@doc = rw
@developer = rw
[/]
@developer = rw
* =
Если теперь член группы документов пытается проверить документацию, это не работает. Я хочу, чтобы члены doc имели возможность проверить doc-документ, все остальное запрещено. Есть идеи, как этого добиться?
С уважением, Ронни
[Обновить]
клиент: 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
- подключение через OpenSSH SSH-клиент
- сервер отклоняет svn:// соединения с локального хоста - любое соединение --- скоро надо попробовать с копией дома
[обновление 4] * это не мой собственный сервер, я не могу делать то, что я хочу с ним. Это очень старый сервер, работающий как минимум 10 лет, с сотнями пользователей. Стандартные вещи должны работать. поправьте меня, если я что-то упустил.
[обновление 5] верите или нет. Я использовал неправильный путь, и теперь все работает отлично, извините, что потратил впустую ваше время. Я передам вознаграждение FoxyBOA за его работу.
3 ответа
Какие URL-адреса @doc участники пытаются оформить?
[ОБНОВЛЕНО]
Не могли бы вы предоставить дополнительную информацию: версию SVN на сервере и на стороне клиента. Как ваши клиенты пытаются подключиться к серверу SVN (например, из Eclipse, используя библиотеку subclipse, командную строку и т. Д.).
Если вы используете svn+ssh, ваш пользователь должен иметь действительный доступ к вашему серверу. У ваших пользователей есть правильная оболочка (например, bash, tcsh и т. Д.)? /bin/false и другие фальшивые оболочки не будут работать с типом соединения svn+ssh.
Другая проблема, с которой вы можете столкнуться - разные версии SVN на сервере и на стороне клиента (например, сервер 1.4, клиент 1.5, которые пытаются подключиться с использованием технологий 1.5).
Вы используете аутентификацию SASL с SVN?
Вы используете туннелирование?
Используете ли вы уловки конфигурации ssh, описанные в svn docs?
[UPDATED2]
- Вы подключаетесь к SVN из командной строки или используете IDE? Если вы используете IDE, назовите ее и предоставьте информацию о том, какое дополнение / библиотека / и т. Д. вы используете для подключения к серверу SVN.
[UPDATED3]
- Не могли бы вы создать тестовую учетную запись и временно попытаться получить доступ к серверу SVN без ssh? Просто используя простой протокол SVN: //. Если это работает, проблема в ssh, если это терпит неудачу - svn.
- Какой инструмент вы используете для подключения 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)))
Истинный способ сделать это здесь:
[groups]
developer = a,b,c
doc = r,x
[doc:/]
* =
@doc = rw
@developer = rw
[otherPath:/]
* =
@developer = rw
@doc = r
[/]
* = rw
"Я использую SVN + SSH... странная вещь"
svn + ssh использует ssh для подключения, затем запускает svnserve в туннельном режиме
При работе через туннель авторизация в основном контролируется разрешениями операционной системы на файлы базы данных хранилища; это почти так же, как если бы Гарри обращался к хранилищу напрямую через файл:// URL.
Другими словами, он игнорирует настроенную вами конфигурацию.