一年多來,我一直在使用GIT和目錄/文件權限。我有一箇中央存儲庫,多個開發人員使用ssh(起源設置爲ssh:// example/git/repository)向其中推送代碼。我已經設置了存儲庫如下:當用戶推送到GIT存儲庫時文件所有權/組更改
1)在中央儲存庫我的配置文件: [芯] repositoryformatversion = 0 FILEMODE =真 裸=真 sharedrepository = 0660
2)所有版本庫目錄權限設置爲770(rwxrwx ---) 3)./objects/XX和./objects/info中的所有文件都設置爲440(r - r -----) 4)所有其他文件設置爲660(rw-rw ----) 5)所有權設置爲root:group_name
(請注意,這是來自於此主題中頂級響應中的推薦設置):Making git push respect permissions?
所有訪問用戶均爲組「group_name」的成員。
問題是,如果user1推入存儲庫,某些文件的文件所有權設置爲user1:user1 - 表示該組已更改。一旦發生這種情況,沒有其他用戶可以從存儲庫中推送(或拉出),因爲他們沒有權限從存儲庫中的所需文件讀取,寫入或執行。
我已經閱讀了關於堆棧溢出和網上其他任何地方的問題的每一個線程,但我仍然遇到同樣的問題。
問題是,我不確定這個問題是GIT還是UNIX之一,我不確定如何解決它。當用戶推送到存儲庫時,如何阻止組更改?
你是怎麼推的?你在做什麼用戶權限? – Makoto 2013-04-24 04:25:57
推送使用:git push 我們正在推動ssh。每個用戶使用其UNIX用戶帳戶進入服務器。 例如,我是服務器上的用戶shiro。我用於SSH的登錄憑證是用戶shiro。用戶shiro是組shirogroup的一部分。該文件的所有權爲root:shirogroup。這回答了你的問題了嗎? – Shiro 2013-04-24 07:12:24
我在我的服務器上有suphp - 這可能是什麼改變了我的文件權限,而不是GIT? – Shiro 2013-04-24 07:46:59