2011-05-21 117 views

回答

10

git-shell是一個受限制的shell,可以用於此目的。

如果您設置一個用戶的登錄shell git-shell那麼他只能運行一組有限的服務器端git的輔助功能,這使遠程的git通過ssh使用,但不允許正常的日誌。

+2

這是一個關於如何實現這個http://progit.org/book/ch4-4.html的好文檔 – 2011-05-21 10:58:59

+0

這節省了這麼多時間,謝謝! – 2012-04-14 14:54:45

+0

感謝您的好解答。對於未來的讀者,我最終在這個網站上設置了這個簡單的步驟:http://notepad2.blogspot.com/2012/04/git-over-ssh-restrict-user-to-git.html – user605331 2012-11-15 13:33:56

1

也看看gitosis。特別是,它設置的.ssh/authorized_keys中能防止端口轉發等一些參數:

command="gitosis-serve [email protected]",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA.... 

即使你不使用的gitosis,你可能要包括限制性選項。

+2

Gitosis是不再由作者維護和支持;大多數人通常會推薦gitolite來代替它,它具有更好的文檔和更多的功能:http://github.com/sitaramc/gitolite – 2011-05-21 20:15:44

+0

@Seth - 啊,我沒有注意到gitosis已被棄用(雖然2009年的最後一次更新,我想我應該有)。謝謝你的提示! – 2011-05-24 12:06:49

相關問題