Pregunta

Tengo un servidor que ejecuta la subversión con Apache. Se autentica a los usuarios utilizando LDAP en Apache configuración y utiliza autorizaciones SVN para limitar el acceso del usuario a determinados repositorios. Esto funciona perfectamente.

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

Subversion

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

Adición de acceso anónimo de una máquina

Ahora, tengo un servicio Quiero fijar (Rietveld, para revisiones de código) que necesite disponer de un acceso anónimo al repositorio. Como se trata de un servicio web, los accesos se realizan siempre desde el mismo servidor. Por lo tanto añadí Apache configuración para permitir que todos los accesos de esta máquina. Esto no funcionó hasta que añadir una línea adicional en el archivo de autorización para permitir el acceso de lectura a todos los usuarios.

Apache

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

Subversion

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

Por ejemplo, antes de agregar la autorización de una determinada IP, todos los usuarios se autenticado, y por lo tanto tenía un nombre. Ahora, algunos accesos se realizan sin un nombre de usuario! He encontrado el nombre de usuario - en los archivos de registro de Apache, pero la línea de - = r no funciona, tampoco lo hacen anonymous = r. Me gustaría no permitir el acceso de lectura a todos los miembros de la autorización de subversion. ¿Cómo puedo hacer esto?

¿Fue útil?

Solución

Trate de poner esto en su archivo authz: ??

[Software:/]
@soft = rw
$anonymous=r
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top