This would be a fairly straightforward setup once you have a Linux server up and running. To limit disk space on a per-user or per-group basis, you'd want to set up quotas. Here's a good guide to use as an example.
Since your users will have SSH access, you don't necessarily need to set up any sort of fancy git server (like Gitosis) unless you want to have special permissions. Even then, you could use ACLs to handle that.
As for actually creating the git repositories, it's as simple as this:
cd /srv/git/somerepo.git/
git init --bare
...and then setting the correct permissions.
The users can then clone their git repository using a command like this:
git clone ssh://username@server/srv/git/somerepo.git/