2012-07-18 164 views
0

什麼是實際共享linux服務器上的可執行權限和讀取權限之間的區別,這意味着,究竟與web訪問者可以做什麼有關,例如php文件?例如,使用godaddy共享主機,在基本權限下,如果web用戶不可讀,但是可執行,同樣的事情發生在它可讀但不可執行時 - php文件執行。另外,在一臺共享的linux服務器上,爲Web用戶創建一個文件是可寫的 - 一個沒有訪問服務器登錄權限但通過瀏覽器訪問該頁面的人可以做到這一點?linux主機權限共享服務器

回答

1

基本答案是:什麼都沒有。訪問網站的訪問者不直接訪問任何文件,PHP或其他。他們向計算機上的服務器服務器發送一個HTTP請求(哇,這很糟糕的措辭)(例如:Apache),然後加載頁面,執行PHP等。因此,當您更改權限時,需要更改相關權限這些文件是否具有Apache帳戶(取決於發行版可以是nobodywww-data)的權限。至於權限實際做什麼,this Wikipedia page描述得很好。

如果您有Linux機器,您可以自己測試。帶一個帶有文件的目錄和sudo chmod -R 744它。然後,嘗試到ls -l。您將能夠看到文件名,但不能看到有關該文件的任何其他信息(包括內容 - nano該目錄中的任何文件將導致創建新文件)。

1

您必須記住,所有這些都依賴於Web服務器想要做的事情,因爲所有事情都必須通過Web服務器。這不像從磁盤讀取文件。所以當你請求「index.php」或「index.cgi」時,你並沒有讀取文件的內容。網絡服務器會看到你要求的文件是一個程序,它將運行該程序。不輸出文件的內容,它將輸出任何程序輸出。這只是一個設置,並且與權限無關。此外,如果您使用的是共享託管帳戶,則無法更改此設置。

在共享的linux服務器上,究竟是什麼使文件可寫[...]呢?

您無法使用HTTP創建「可寫入」文件。同樣,這不像訪問本地驅動器上的文件系統。你可以製作一個可以處理文件上傳的服務器端程序,但是這與權限無關。

我希望這是你的意思。讓我知道你的意思是別的。

相關問題