7

我想为几个不同的人提供提交访问权限,每个人都可以访问我的 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 访问权限?

4

3 回答 3

17

设置/usr/bin/git-shell为他们的外壳/etc/passwd

或者使用本机git协议而不是ssh.

于 2013-02-25T11:22:41.247 回答
4

您可以将用户的登录 shell 设置为git-shell(与 git 一起提供),这是“仅限 Git SSH 访问的受限登录 shell”。它会让用户正常使用git pushand git pull,但不会让他们登录。设置说明可以在此页面底部找到:http: //git-scm.com/book/ch4-4。 html

于 2013-02-25T11:34:14.043 回答
3

使用Gitolite (Gitkeeper) 来管理你的 git 仓库的访问。

否则你必须设置一个chroot。

于 2013-02-25T11:23:28.053 回答