2013-02-15 97 views
1

設置一個git服務器,其中幾個用戶將能夠提交更改。Git - 允許寫入訪問

很多這方面的文檔建議給他們對存儲庫的寫入訪問權限,並使用SSH進行訪問控制。例如http://git-scm.com/book/ch4-2.html甚至可以爲數百個用戶提供此建議。 Gitosis似乎仍然採用相同的方法,允許SSH將存取權寫入存儲庫。

所以我的問題是:

什麼是阻止別人ssh server "rm -r /home/git/the_repository"

是不是真的,在一個典型安裝中,人承諾一個共享倉庫權利得到足夠的文件系統訪問刪除了呢?

回答

1

來完成你正在尋找達到什麼樣的現代方法是通過gitolite,它允許你作爲一個回購管理員定義相對細粒度訪問規則。

gitolite通過ssh密鑰識別用戶,所以用戶甚至不必擁有對服務器的shell訪問權限。

gitolite documentation是我的經驗相當不錯。

0

你不應該允許用戶外殼訪問倉庫機器。

如果你打算做訪問控制這種方式,用戶可運行的命令應該僅限於git

然而,這並不會做其他令人討厭的事情就像推空裁判爲每個分支阻止他們。如果您不信任將使用中央存儲庫的人員,則需要更細粒度的權限系統。我想爲此推薦Gerrit。即使你不用它來進行代碼評論,它仍然提供了一個圍繞git的管理和權限系統。

另一種選擇是推送HTTP而不是SSH; HTTP服務器提供了可以設置的其他限制,以避免惡作劇。

相關問題