2017-06-01 37 views
-2

我想在Ubuntu上設置GIT & Apache2,以便多個Ubuntu/GIT用戶可以推/拉文件由Apache2讀取。如何在Ubuntu上配置GIT(權限),以便多個用戶可以讀寫/推送/拉取Apache2文件

我可以在Ubuntu上設置一個擁有自己的GIT存儲庫的用戶,他們可以使用/home/user/.ssh/中的SSH私鑰在他們自己的/ home/user /文件夾內推/拉GIT服務器上的公鑰(例如bitbucket)。但是,如果該用戶被賦予sudo權限並進入Apache2/var/www/html/web根目錄,則他們不再具有通過ssh推送git的權限(因爲git正在查找的是id_rsa的id_rsa根用戶)。一個解決方法是爲根用戶設置一個.ssh密鑰對,以訪問GIT,但是GIT提交不會被用戶分開(破壞版本控制的一個主要目的)。

+0

的WWW的數據組最直接的可能是使文件組可寫和將用戶添加到該組。 – Adrian

+0

我想知道你的意思是「...但是然後GIT提交不被用戶分開」。將被保存在修訂版本中的用戶是「提交」(或作者)代碼的用戶,而不是「推送」的人,並且不依賴於傳輸。 – eftshift0

+0

@阿德里安,謝謝。我將用戶添加到www-data組,然後chmod -R g + rwx 。用戶在repo上,他們的公共ssh密鑰在他們的配置文件中,但是git push -u origin master從他們的用戶(不是sudo)返回,並且存儲庫訪問被拒絕。致命的:遠端意外掛斷。如果他們sudo入,它的作品。這是最佳做法,還是用戶可以在他們的用戶中完成所有操作(沒有sudo)? – user1421347

回答

1

將用戶添加到Apache2的

+0

但我寫爲用戶的萬維網文件:www-data仍然不能被Apache2讀取,除非我sudo在並將它們寫爲www-data:www-data - 然後它們不能被GIT通過ssh使用我的密鑰文件推送。 – user1421347

相關問題