Tengo un repositorio git alojado en mi servidor SunOS, que uso de forma remota a través de ssh
git clone ssh://[email protected]/path/to/git
Ahora necesito agregar más usuarios para poder acceder a ese repositorio, pero no estoy seguro de cómo hacerlo.
He agregado un testUser a ssh, pero parece que no puedo limitar esos privilegios de usuario para usar solo git.
testUser es capaz de navegar y navegar por todo el servidor.
¿Cómo puedo crear usuarios que solo puedan acceder a git de forma remota, para clonar / jalar / empujar, etc.?
Gracias
fuente
Básicamente tienes dos opciones.
Como mencionó topdog, cuando cree usuarios en el servidor, configure su shell en git-shell ( entrada de libro aquí ). Esto permitirá que el usuario inicie sesión a través de SSH, pero en lugar de ejecutar un shell normal con todas las funciones (por ejemplo, sh, bash, etc.) ejecutará git-shell, que solo proporciona acceso a la funcionalidad git.
Alternativamente, puede hacer que sus repositorios estén disponibles a través de otro protocolo, como TCP (usando git-deamon ) o HTTP / HTTPS. Sin embargo, solo recomendaría este escenario para el acceso de solo lectura.
Menciona que desea admitir la funcionalidad 'push' para sus usuarios, por lo que realmente debería ir con la opción # 1.
fuente
necesita cambiar su shell a git-shell, eso solo les dará acceso a las funciones de git solamente.
fuente
Otra forma de hacerlo es limitando el acceso de los usuarios dentro de ssh.
( http://prefetch.net/blog/index.php/2006/09/05/limiting-access-to-openssh-directives/ )
El ejemplo es solo usando un solo usuario, pero si los usuarios están en el mismo grupo, puede filtrarlos usando la directiva de grupo. Algo como
fuente