Bom dia.
Uma opção para esse tipo de controle é, no momento da criação do usuário, definir o /home do usuário como o diretório que ele terá permissão de acesso e colocá-lo como dono desse diretório. Caso não queira que os usuário tenham acesso via SSH, é só remover a permissão de acesso ao shell do sistema editando o arquivo passwd.
Exemplo:
Faça a seguinte alteração na linha:
git:x:1000:1000::/home/git:/bin/sh
para
git:x:1000:1000::/home/git:/usr/bin/git-shell
Obs.: O trecho “/home/git” indica o diretório do usuário, ou seja, você pode usar o diretório que desejar, inclusive criar outros.
O trecho “/bin/sh” indica o shell do usuário, você irá mudar para o “git-shell”. Caso não saiba onde fica, digite which git-shell no terminal para encontrar.
De modo geral, sim. Existem outras formas, mas para um servidor simples, na rede local, você pode usar o protocolo SSH para enviar os commits para o servidor. Nesse, caso você deve criar um usuário no Sistema Operacional.
Bom, espero ter ajudado.
Segue a fonte da informação, coso queira se aprofundar no assunto: Pro GIT