Вопрос

У меня есть сервер Subversion с Apache. Он аутентифицирует пользователей, использующих LDAP в конфигурации Apache и использует разрешения SVN для ограничения доступа пользователя в определенные репозитории. Это отлично работает.

Apache.

DAV svn
SVNParentPath /srv/svn
SVNListParentPath Off
SVNPathAuthz Off
AuthType Basic
AuthName "Subversion Repository"
AuthBasicProvider ldap
AuthLDAPBindDN        # private stuff
AuthLDAPBindPassword  # private stuff
AuthLDAPURL           # private stuff
Require valid-user
AuthzSVNAccessFile /etc/apache2/dav_svn.authz

Подрывность

[groups]
soft = me, and, all, other, developpers

Добавление анонимного доступа с одной машины

Теперь у меня есть услуга, которую я хочу настроить (Rietveld, для обзоров кода), который должен иметь анонимный доступ к репозитории. Поскольку это веб-сервис, доступ всегда выполняется с одного и того же сервера. Таким образом, я добавил конфигурацию Apache, чтобы разрешить все доступ к этой машине. Это не сработало, пока я добавлю дополнительную строку в файле авторизации, чтобы доступеть ко всем пользователям.

Apache.

<Limit GET PROPFIND OPTIONS REPORT>
  Order allow,deny
  Allow from # private IP address
  Satisfy Any
</Limit>

Подрывность

[Software:/]
@soft = rw
* = r                    # <-- This is the added line

Например, прежде чем добавить авторизацию от конкретного IP, все пользователи были аутентифицированы, и, таким образом, имели имя. Теперь некоторые доступны без имени пользователя! Я нашел - Имя пользователя в файлах журнала Apache, но линия - = r не работает, ни один anonymous = r. Отказ Я хотел бы не допускать доступа к чтению всем в разрешении SVN. Как я могу это сделать?

Это было полезно?

Решение

Попробуйте положить это в ваш файл AUTHZ:

[Software:/]
@soft = rw
$anonymous=r
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top