Pregunta

Estoy usando SVN (CollabNet Subversion Edge) y Tortoise SVN para gestionar una página web que se está editando por varias personas.

Me gustaría limitar el acceso por parte de algunos usuarios a algunos directorios (para evitar que al ver las credenciales de bases de datos, etc.). Que sólo requieren acceso de lectura a un directorio.

¿Es posible hacer esto en SVN?

Gracias!

Editar

Se está ejecutando una mezcla de XP y Windows 7. El servidor está en Windows 2008. El protocolo utilizado es http.

¿Fue útil?

Solución

Esto puede lograrse mediante el archivo svnaccess.conf. Suponiendo que se utiliza la autenticación de dominio de Windows, aquí es una manera de proporcionar acceso a nivel de carpeta para los usuarios de Windows. (Una sección de muestra del archivo svnaccess.conf)

[repo: / trunk / SampleFolder]

* =

@repo_restricted_users = r

@repo_super_users = rw

A continuación, repo_restricted_users y repo_super_users son grupos de usuarios que deben ser definidas anteriormente en el archivo svnaccess.conf - así:

repo_restricted_users = john.doe, tom.riddle

repo_super_users = HARRY.POTTER, lord.voldemort

Esto proporcionará acceso de lectura sólo a la SampleFolder carpeta dentro del repositorio, manteniendo otras carpetas cerradas. Espero que esto ayude.

Otros consejos

El libro de SVN como vinculado por Mike le da una buena visión general de los métodos de autenticación disponibles.

Si está en Windows y no le importa cambiar el servidor SVN, VisualSVN servidor es un SVN libre / envoltura de Apache que se puede instalar en cuestión de minutos, y proporciona una fácil gestión de usuario / acceso de apuntar y hacer clic con muerte cerebral. He estado usando durante años y lo amo.

Se puede hacer lo que quiera de una manera independiente de la plataforma por escrito lo que se llama un gancho pre-commit. Puede leer más sobre ganchos en el libro SVN . Básicamente, se le dio el nombre de usuario y la ubicación del directorio de los cambios, y tienen la capacidad de decidir si acepta o no la transacción.

Un buen ejemplo de esto se encuentra en este sitio . Básicamente, tendrá que utilizar el script commit-access-control.pl , que se empaqueta con la subversión, para realizar la comprobación de permisos para usted. Todo lo que tiene que hacer es escribir un archivo de configuración simple que describen donde la gente puede escribir y leer.

Si se esté utilizando HTTP con Apache, y se puede utilizar el módulo de Apache authz_svn describir aquí en el libro .

Si necesitan un único directorio, creo que más fácil sería crear un segundo / otro repositorio para que, inclusive con svn:externals en el proyecto 'principal' (que aún así obtener svn update también buscar a actualizaciones desde el otro depósito, etc. .).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top