2009-04-23 37 views
1

我在一個便攜式卷(usb驅動器上的truecrypt卷)上安裝了一個xampp(apache + mysql + php)堆棧,用於在不同的linux機器上進行webapp開發。在不同機器上開發文件系統權限

本卷被格式化爲ext3,所以我遇到了權限問題,因爲我不能在每臺機器上都是同一個用戶。例如,我嘗試檢查在另一臺機器上啓動的項目的git狀態,並且訪問被拒絕。

上次我遇到類似的問題我做了chmod 777(或者是chown?)整個目錄,所以我猜我的php文件的權限狀態是混亂的。這一次我也擔心像git文件和最近安裝的symfony web框架這樣的特殊情況。

我應該如何處理這種情況? 我很想正確設置此權限問題。

非常感謝您的關注。


編輯: 我可能需要編寫一個腳本來本地「命令CHOWN LAMPP:lamppusers」每次使用不同的機器時間。或者一些git voodoo技巧與本地存儲庫導出?任何想法?

回答

0

這似乎是我已經找到了最好的解決辦法:

sudo chown -R polypheme:lamppusers webdir 

這樣我可以再次擁有與本地用戶名和我的本地組的整個目錄。

  • 獨眼龍是用戶名
  • lamppusers是一組名
  • WEBDIR是包含了所有我的web開發文件

注意,計算機1在我的用戶名是獨眼龍的目錄,我屬於羣組lamppusers,並在計算機上2我的用戶名是polypheme,我屬於組lamppusers。 用戶名和組名完全相同。 我不是100%確定,如果名稱碰巧不同,這將完美工作。

我沒有修改任何文件模式,這是很好的問題要複雜得多不是簡單地壓平與每個文件權限的全球

chmod -R 744 webdir 

這將是錯誤的做法與受保護的文件在symfony的框架。我猜也是.git /文件。 (gbjbaanb對此是正確的)

在這一點上,我恢復了我曾經在另一臺機器上的配置,這正是我所尋找的。我可以再次工作。

知道了這一點,我的問題突然顯得很愚蠢。那麼,多計算機上下文使它足夠複雜以致有價值。 (至少對我來說)

(這個答案將盡快,因爲它已經得到很好的測試驗證)

2

我懷疑是否有這樣的方式 - 你可以嘗試使用SELinux ACL而不是通常的權限,但是我認爲這對你來說會過度。

我會建議只是整個目錄設置爲777使用chmod(CHOWN改變所有權),爲用戶和組的每個用戶在將每臺機器上的不同,你真的不能做的更好。這裏唯一的問題是安全問題 - 但爲了您自己的目的,在您的本地盒子上,我沒有看到問題。直到你將這些文件複製到服務器上,你最好將它們正確地重新設置。

您可以嘗試使用LDAP服務器進行身份驗證,您將檢索輸入用戶名的uid,並將其映射到每臺PC上的相同uid,以便您可以設置組或所有者一次。 (我想,你必須問一個更熟練的LDAP ud映射的人)。

+0

呀,我怕這個答案竟是......讓我們來看看,如果有人想出了另一個理念。 – Polypheme 2009-04-23 23:47:29

+0

另一種方法是確保您在每臺機器上使用的uid相同。 – gbjbaanb 2009-04-24 08:57:24