2016-01-20 115 views
2

在我的PHP應用程序中,我使用file_put_contents()來創建一個文件來顯示包含從我的數據庫中的表中檢索到的blob。但是,目前,爲了使該功能可以在我的Amazon EC2 Ubuntu實例上工作,我必須將該文件夾寫入777權限。但是,我知道這是非常糟糕的,我想改變這一點,但我不知道該怎麼做。Ubuntu - 正確的權限使用file_put_contents

我是Linux的新手,目前我正在Google的幫助下圍繞我的實例進行導航。這是大學任務的一部分,所以我不能只僱用一位Linux專家(以防萬一你說我不應該使用這樣一個實例,如果我不知道Linux!)

回答

1

假設您正在使用瀏覽器使用此功能並使用普通的http請求,您需要找出正在運行Web服務器的用戶。可能是像apache,www-user或類似的東西。

那麼你可以做兩件事情:

  • 更改您要保存文件到web服務器的用戶,然後它可以有權限755
  • 更改組的目錄的所有權該目錄到網絡服務器的組,然後該目錄需要775.
+0

我用'sudo chmod -R 755/var/www/html/public',是否足夠或我需要找到網絡服務器用戶?因爲我不確定是什麼。我嘗試了'www-user'和'apache'以及'chown'命令,但SSH終端說這兩個用戶都不被識別。 – RoyalSwish

+1

@RoyalSwish不,您需要Web服務器用戶,否則它不能寫入該目錄。您可以在命令行上嘗試'$ ps aux'來查看正在運行的進程,並且網絡用戶應該從結果中顯而易見。 – jeroen