在 Git 中创建共享团队存储库的最简单、最安全的方法是什么?

在 Git 中创建共享团队存储库的最简单、最安全的方法是什么?

我想在我的计算机(ubuntu 10.4)上使用 Git 创建一个共享的团队存储库,以便我们的团队可以克隆代码并进行拉/推等操作...

但是我发现好像需要为它创建 ssh 帐户。我不熟悉 linux 的安全性,所以我想知道如何控制这个帐户的访问权限。比如,我希望这个 ssh 帐户只能访问 git 目录(读写),例如 /home/camino/myproject,并且应该拒绝对所有其他目录的任何访问。

是否可以?

在此先感谢您的帮助。

答案1

这是什么吉托西斯解决了。​​解决方案是单个用户帐户(称为“gitosis”),通过 ssh 对其进行公钥访问,然后 gitosis 在后台根据配置文件检查这些凭据。

答案2

您可以在自己的机器上为同事创建用户帐户。默认情况下,他们不能访问您的本地主目录。您可以通过检查文件系统访问设置来验证这一点/home/user(将“用户”替换为实际用户名)

drwxr-x--- 143 user user 8.2K 09-28 14:45 /home/user/

以下是您应该做的事情的基本概要:

  1. 创建一个名为“git”的新组
  2. 将“git”组添加到您当前的用户名
  3. 为每个用户创建一个新的用户帐户,并将“git”添加到组列表中
  4. 创建一个新的目录树,用于/存储你的 git repo
  5. 确保您的“git”用户组可以访问这些目录
  6. 将你的工作仓库克隆为一个裸仓库,然后使用 ssh 推送到共享仓库:

    git clone --bare ~/proj proj.git
    scp -r proj.git server:/git/USER/
    
  7. 将共享 repo 添加到您的工作 git 项目,以便您可以推送/拉取。

    git remote add origin ssh://HOSTNAME/git/USER/proj.git
    git config branch.master.merge refs/head/master
    

从此时起,您的远程用户应该能够访问您的机器、登录并克隆共享存储库。他们还可以推送/拉取更改。

相关内容