2014-02-19 54 views
0

我正在嘗試配置運行Apache和Lasso的OSX Mavericks服務器。爲了安全和方便,我只希望屬於特定「網絡」組的用戶能夠訪問Web根目錄。我成功地讓允許的普通用戶和Apache(_www)訪問這些文件,但是我終身無法爲Lasso設置正確的權限。我希望這裏有人能指點我正確的方向。設置套索9權限

基本上,我所做的是以下幾點:

sudo dseditgroup -o create web 
sudo dseditgroup -o edit -a _www -t user web 
sudo dseditgroup -o edit -a _lasso -t user web 
sudo chgrp -R web webroot 
sudo chmod -R 770 webroot 

這顯然適用於Apache的,但任何套索文件只是輸出一個套索權限錯誤:

An unhandled failure during a web request 
Error Code: 13 
Error Msg: Permission denied - While opening //Library/Server/Web/Data/Sites/... 

我也嘗試添加將_www和_lasso組分配給Web組,並在實例管理器中創建新的Lasso實例,並將有效組設置爲「web」。

奇怪的是,直接在文件上設置對_lasso用戶或組的權限(即不通過Web組)似乎工作,這讓我相信我如何創建我的ACL是錯誤的。

多一點信息:類似這樣的

ls [email protected] example.lasso 
-rwxrwx---+ 1 danielpervan web 0 Feb 19 15:20 example.lasso 
0: user:_spotlight inherited allow read,execute 
+1

首先,您訪問Lasso文件時所說的權限錯誤是什麼?它是一個Lasso錯誤和錯誤堆棧或Apache錯誤?其次,我要麼將Web用戶添加到_lasso組,要麼將_lasso用戶添加到Web組。第三,如果你可以發佈「ls -l @ e /path/to/lassofile.lasso」的結果作爲例子,它可能會有所幫助。 – bfad

+0

@bfad這當然是一個套索錯誤。我編輯我的問題,包括所述的錯誤。 –

+0

通過ls -l @ e進一步檢查,似乎我從未真正將ACL應用於我的文件並僅設置了POSIX組。雖然我並不熟悉OSX如何將ACL與POSIX權限一起處理,但我不確定爲什麼這與Apache而不是Lasso一起工作。實際上將ACL添加到文件似乎可以解決這個問題,但是我會多花一點時間來看看它是如何工作的。謝謝! –

回答

0

我遇到問題時,我的ACL超出標準UNIX權限。從你的文章看來,example.lasso文件中有一些ACL。我會在你的Web根目錄運行下面的腳本從每個文件夾/文件中刪除所有的ACL

sudo chmod -R -N /path/to/webroot/ 

如果還是不行,請驗證_lasso用戶是網絡組的一部分:

dscl . -read /groups/web | grep GroupMembership