Apache-2.2

如何為 apache2 上傳的文件設置預設權限?

  • March 10, 2015

當我通過 php 上傳文件時,它會使用權限 644 (-rw-r–r–) 寫入文件。

我使用 setgid 設置了 /var/www/html 文件夾,以便上傳的所有文件都設置為應允許顯式訪問(FTP 等)的組。但是644權限不允許文件所在的組寫入,這是個問題。

如何配置 apache2,以便 /var/www/html 文件夾中由 www-data 創建的所有文件/目錄都設置了權限 775 (-rwxrwxr-x)?

我在帶有 Apache 2.2 的 DigitalOcean VM 上執行 Ubuntu 14.04。

umaskApache從其父程序(即啟動 Apache 的程序)繼承它。這通常應該是/etc/init.d/{apache,httpd}腳本。因此,您可以在該腳本中放置一個 umask 命令。

# echo "umask 002" >> /etc/init.d/httpd

進而:

# /etc/init.d/httpd restart

或者您也可以執行以下命令:

# echo "umask 002" >> /etc/sysconfig/httpd

進而

# /etc/init.d/httpd restart

您可以在上傳文件後使用 php 函式更改權限chmod

http://php.net/manual/en/function.chmod.php

引用自:https://serverfault.com/questions/608610