我想提交几个不同的人的访问权限,每个人都可以在我的Linux服务器上使用他们自己独立的git存储库。
这样做的一种方法是:
foreach user x
adduser x
create /home/x/repo.git
ask user x to clone from ssh://myserver.com/home/x/repo.git
然而,这会产生不良影响,他们也可以通过ssh登录。我不想让他们进行shell访问。
无论如何以相似的方式设置它,但纯粹给它们git commit访问而不是shell访问?
答案 0 :(得分:16)
将/usr/bin/git-shell
设置为/etc/passwd
中的shell。
或使用原生git
协议代替ssh
。
答案 1 :(得分:4)
您可以设置用户'登录shell到git-shell(自带git),这是一个限制登录shell,仅用于Git的SSH访问"。它会让用户照常使用git push
和git pull
,但不会让他们登录。有关设置的说明,请参见本页底部:{{3} }
答案 2 :(得分:3)
使用Gitolite(Gitkeeper)来管理git存储库的访问。
否则你必须设置一个chroot。