2012-10-21 161 views
2

我有一個本地倉庫和遠程倉庫集。Git用戶權限

我的每個託管軟件包都有自己的用戶和組(沒有ssh訪問),所以我有這樣的權限問題。

我已經通過設置我的遠程回購爲SSH解決此工作:// @根...和createing後收到鉤申請chown correctuser:correctgroup -R public_html/

這是因爲你可以看到,我涉及「不理想根',而不應該是這樣。

'git init --bare --shared'有幫助嗎?

我希望能夠以root身份進行遠程推送,並且將'git'添加到我的所有組(包)也沒有幫助。

請指教。

回答

2

你可以保持root及其chown你ssh訪問,但限制SSH會話唯一的Git命令,與authorization layergitolite

--shared選項(man git init)是不完全適合當你有多個組:

--shared[=(false|true|umask|group|all|world|everybody|0xxx)] 

指定Git倉庫,將之間多個用戶共享。
允許屬於同一組的用戶推入該存儲庫
指定時,將設置配置變量「core.sharedRepository」,以便使用請求的權限創建$GIT_DIR下的文件和目錄。
未指定時,git將使用由umask(2)報告的權限。

+0

嗯,這不會工作,因爲我不想'限制'root權限。而且我是這臺服務器上唯一的ssh用戶,所以gitolite似乎有點過分了。 ;( – user1113177

+0

@ user1113177它可以爲你生成一個專用於這些git命令的公鑰/私鑰,同時爲root交互式shell會話保留缺省值,你可以使用幾個公鑰/私鑰作爲ssh,例如: http://stackoverflow.com/questions/12998273/w-access-for-gitolite-admin-denied-to-user/12998492#12998492 – VonC