SVN - permisos de directorio del usuario
-
03-10-2019 - |
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.
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. .).