Mac-Osx-Server

私有 GIT 儲存庫設置 Mac OS X 伺服器

  • March 10, 2011

我想設置一個 git 儲存庫(裸 repo),只有“開發”組的人可以從儲存庫讀取/寫入。我怎樣才能做到這一點?(我更願意通過 http 來執行此操作)

我正在執行 Mac OS X 10.6 伺服器

您可以在伺服器上設置 Apache 伺服器和 WebDAV 來驗證您的使用者。

我已經用 subversion 做到了這一點,但看起來它對 Git 的工作方式類似。

http://www.icoretech.org/2009/11/hosting-git-repositories-through-webdav-on-snow-leopard-server/

您有幾個選項可以限制誰可以寫入 git 儲存庫:

  1. 在您的網路伺服器配置中,您可以根據組成員身份或使用者 ID 限制對儲存庫的訪問。這將是一個 Apache 配置,例如在 AuthGroupFile 設置http://httpd.apache.org/docs/current/mod/mod_authz_groupfile.html#authgroupfilehttp://httpd.apache.org/docs/2.2/mod /mod_auth_basic.html#authbasicprovider(但您可能需要從 /etc/group 映射到此文件格式)。

2)更簡單,您可以通過文件系統管理儲存庫權限。在您的 .git 目錄中,您可以將目錄chmod -r a-rwchmod -r g+srw的讀寫限制為指定 unix 組中的成員(如果您需要更精確的說明,請告訴我)。git-init有一個--shared=group開關,允許基於 unix 組訪問多個使用者(參見http://kernel.org/pub/software/scm/git/docs/git-init.html

  1. 查看 Gitosis ( http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way ),這是一個簡單的 Git 儲存庫“伺服器”,用於集中身份驗證並確保您不需要為每個 Git 使用者使用單獨的 Unix 使用者(和/或將它們單獨分組)。與 #1 一樣,您將在操作簡單性與設置複雜性之間進行權衡(因為您現在可能要管理兩個組列表)。

希望有幫助。

引用自:https://serverfault.com/questions/245334