Mam repozytorium git hostowane na moim serwerze SunOS, z którego korzystam zdalnie przez ssh
git clone ssh://[email protected]/path/to/git
Teraz muszę dodać więcej użytkowników, aby uzyskać dostęp do tego repozytorium, ale nie jestem pewien, jak to zrobić.
Dodałem jeden testUser do ssh, ale nie wydaje się ograniczać uprawnień tego użytkownika do używania tylko git.
testUser jest w stanie ssh przeglądać i przeglądać cały serwer.
Jak mogę utworzyć użytkowników, którzy mogą uzyskiwać dostęp do git tylko zdalnie, aby klonować / wyciągać / wypychać itp
dzięki
źródło
Zasadniczo masz dwie opcje.
Jak wspomniano topdog, kiedy tworzysz użytkowników na serwerze, ustaw ich powłokę na git-shell ( wpis książki tutaj ). Pozwoli to użytkownikowi zalogować się przez SSH, ale zamiast uruchamiać normalną, w pełni funkcjonalną powłokę (np. Sh, bash itp.), Uruchomi git-shell, który zapewnia dostęp tylko do funkcji git.
Alternatywnie możesz udostępnić swoje repozytoria za pomocą innego protokołu, takiego jak TCP (przy użyciu git-deamon ) lub HTTP / HTTPS. Poleciłbym tylko taki scenariusz dla dostępu tylko do odczytu.
Wspominasz, że chcesz obsługiwać funkcję „push” dla swoich użytkowników, więc naprawdę powinieneś wybrać opcję nr 1.
źródło
musisz zmienić ich powłokę na git-shell, co da im dostęp tylko do funkcji git.
źródło
Innym sposobem na to jest ograniczenie dostępu użytkowników w ssh.
( http://prefetch.net/blog/index.php/2006/09/05/limiting-access-to-openssh-directives/ )
Przykładem jest tylko jeden użytkownik, ale jeśli użytkownicy należą do tej samej grupy, możesz je odfiltrować za pomocą dyrektywy grupowej. Coś jak
źródło