2012-02-19 83 views
1

我有一個應用程序使用一些模板文件和一些開發人員正在生產它們。Git,Gitolite,部署和Linux權限

我發現維護模板的最佳方式是將git安裝在gitolite上,並創建一個掛鉤以在更新上在正確的文件夾中自動簽出模板。

那麼,安裝程序的一切都運行良好,但我有一個安全問題。

模板由與運行時用戶一起運行的小應用程序和運行時組使用。 Gitolite使用另一個用戶/組通常git:git來管理存儲庫。

在掛鉤中,我必須簽出文件到運行時用戶文件夾,顯然它不起作用。

我想將git組更改爲與運行時相同,但我真的不知道在這個解決方案中是否存在安全問題,或者沒有理由擔心。

我不是安全專家,但我知道這裏是充滿:)

感謝的很多,大衛。

回答

0

這聽起來對我來說就像你實際上並不想從鉤子上運行文件結賬一樣,你只是想讓鉤子觸發它們。結帳真的想要作爲runtime用戶運行?

我能想到的幾個方法可以做到這一點,他們沒有健全的驚人:

  1. 建立爲git用戶密碼的SSH密鑰,因此它可以運行ssh [email protected] ~runtime/doUpdates.sh,並表示腳本執行fetchcheckout
  2. 設置限制sudogit用戶,因此它可以運行sudo -u runtime ~runtime/doUpdates.sh
  3. 設置有限sudogit用戶所以它可以chown runtime:runtime -R其結帳操作的結果。

還有一些更糟的。 :)

+0

感謝您的回覆,但最後我將同一組分配給兩個用戶,並且只給該組的寫入權限。 – Davide 2012-02-22 08:34:32