2011-03-23 12 views
6

tengo svnserve con los ajustes actuales:error SVN cuando checkoutng: "No autorizado para abrir la raíz de la operación de edición"

svnserve.conf:

anon-access = read #I also tried anon-access = none or comment this line 
auth-access = write 
password-db = passwd 
authz-db = authz 

authz: ​​

[/] 
foo = rw 

[/Subdir] 
foo = rw 
bar = rw 

Si la 'barra' del usuario intenta realizar la compra/Subdir carpeta, entonces obtiene el error: "No autorizado para abrir la raíz de edit opera ción ". El usuario foo puede hacerlo correctamente.

¿Qué puedo hacer con este problema?

Respuesta

0

Creo que su authz está equivocado. [/] es un caso especial para todos los repositorios. Si desea comenzar a autorizar rutas de repositorio, debe ingresar el nombre del repositorio usando [reponame: repopath]. Para más información:

http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html

+0

me cambiaron a authz [repname: /] foo = rw [repname:/Subdir] foo = rw bar = rw que problemas es todavía existe. PS. La 'barra' del usuario puede extraerse de/Subdir/subsubdir/ – zzc

+0

Es posible que desee asegurarse de que su carcasa sea la correcta. Foo y foo no son lo mismo en tu archivo authz. Esto se aplica a los nombres de usuario, nombres de repositorios y rutas de repositorio. –

0

He encontrado respuesta a este artículo: http://wp.evx.me/evolonix/2011/11/27/svn_error_e220000/

Hay una puerta de escape de clases, una que le permite operar las funciones de seguridad para la velocidad. Si no está imponiendo ningún tipo de autorización por directorio (es decir, no está utilizando mod_authz_svn o un módulo similar), puede deshabilitar la verificación de ruta. En su httpd.conf o archivo de host virtual, utilice la directiva SVNPathAuthz: ​​Directiva

deshabilitar comprobaciones de ruta completo

<Location /repos> 
    DAV svn 
    SVNParentPath /usr/local/svn 
    SVNPathAuthz off 
</Location> 

El SVNPathAuthz es “on” por defecto. Cuando se establece "off", toda verificación de autorización basada en rutas está deshabilitada; mod_dav_svn deja de invocar comprobaciones de autorización en cada ruta que descubre.

3

Descubrí que la eliminación de Satisfy Any de mi configuración de apache solucionó todo.

+0

Para un Repositorio SVN alojado en Apache, este es el enfoque correcto, por lo tanto, recibes un golpe inesperado ;-) –

0

Resuelvo este problema mejor, comprobará la red svn siguiendo los pasos. 1. Abra la configuración de SVN, seleccione datos guardados, haga clic en Borrar ... botón de los datos de autenticación, intente una vez más, si tiene el mismo problema, siga los pasos a continuación. 2. Abra la configuración de SVN, seleccione el menú Red, haga clic en el botón Editar el archivo de servidor de Subversion, Añadir debajo de la línea al final del archivo http-auth-tipos = básica; digerir 3. Guarde el archivo y tratar ahora

0

Recibí el mismo error pero lo resolví de otra manera. Tenía una salida con una subcarpeta:

SVN\SubDir 

Al igual que en el ejemplo por el tema de arranque, la cuenta bar sólo tenía acceso a SubDir. Sin embargo, cuando traté de actualizar la carpeta SubDir con la cuenta bar, recibí el error Not authorized to open root of edit operation.

Descubrí que la razón de esto es que es parte de un pago completo. Normalmente, un usuario con derechos limitados solo debe consultar la carpeta específica, en lugar de actualizarla en un proceso de pago completo.Cuando realicé un proceso de pago por separado de la carpeta deseada, bar podría acceder bien. :)

Cuestiones relacionadas