Mac-Osx-Server
私有 GIT 儲存庫設置 Mac OS X 伺服器
我想設置一個 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 儲存庫:
- 在您的網路伺服器配置中,您可以根據組成員身份或使用者 ID 限制對儲存庫的訪問。這將是一個 Apache 配置,例如在 AuthGroupFile 設置http://httpd.apache.org/docs/current/mod/mod_authz_groupfile.html#authgroupfile和http://httpd.apache.org/docs/2.2/mod /mod_auth_basic.html#authbasicprovider(但您可能需要從 /etc/group 映射到此文件格式)。
2)更簡單,您可以通過文件系統管理儲存庫權限。在您的 .git 目錄中,您可以將目錄
chmod -r a-rw
中chmod -r g+srw
的讀寫限制為指定 unix 組中的成員(如果您需要更精確的說明,請告訴我)。git-init
有一個--shared=group
開關,允許基於 unix 組訪問多個使用者(參見http://kernel.org/pub/software/scm/git/docs/git-init.html)
- 查看 Gitosis ( http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way ),這是一個簡單的 Git 儲存庫“伺服器”,用於集中身份驗證並確保您不需要為每個 Git 使用者使用單獨的 Unix 使用者(和/或將它們單獨分組)。與 #1 一樣,您將在操作簡單性與設置複雜性之間進行權衡(因為您現在可能要管理兩個組列表)。
希望有幫助。