2013-04-12 23 views
0
  • 所以我有一個Git倉庫託管着Gitosis。
  • 我有一個用戶叫做user1,當然還有用戶root。
  • USER1屬於組 'dev的'
  • /無功/網絡屬於root,並分組爲 'dev的'
  • 權限的組是rwx
  • USER1已經確認訪問git倉庫。我已經克隆它,並且工作正常。

但是,當我試圖擁有USER1拉的/ var/WWW回購我得到如何讓一個組訪問GIT倉庫(Ubuntu)

error: cannot open .git/FETCH_HEAD: Permission denied 

所以我失去了什麼。 GIT回購已經是共享回購。出於某種原因,我無法讓這個用戶使用/ var/www?

謝謝!

+0

你是什麼意思的「user1拉回購/ var/www」?你'cd/var/www'並運行'git pull'?是不是有一個原因,你不是簡單地做一個'git push'作爲'user1'的克隆回購? –

+0

我假設這不起作用? chmod -R g + rwx /var/www/repo/.git – kelorek

+0

是的,我SSH與用戶1,CD到/ var/www並運行git pull,然後我得到訪問被拒絕。我不推動git的原因是因爲user1在我不在的時候想要從開發者處獲得開發者權限。 –

回答

1

所以原來的答案是改變git的文件夾中的組到用戶的。 我沒有意識到.git/FETCH_HEAD是一個程序,訪問被拒絕運行。我認爲這是一個gitosis的事情,但事實並非如此。

謝謝!

0

可以追溯解決這些問題(之後您將不再需要的配置設置)與

chmod -R user:group /path/to/shared.git 
find /path/to/shared.git -type d |xargs chmod 2775 # or 2770 if you don't want it public 
find /path/to/shared.git -type f |xargs chmod 444 # or 440 
find /path/to/shared.git/hooks |xargs chmod ugo+x # or ug+x 
+0

所以.git回購託管在我的gitosis服務器(不同的盒子)上,它不知道user1或group dev。這些只是開發服務器上的用戶和組(同樣不是託管gitosis的服務器)那麼我需要讓gitosis知道另一個盒子上的用戶嗎? –

+0

我不會說gitosis,我知道我給這裏的命令會起作用,如果它不想太可愛。 – jthill