正确获取服务器上Laravel文件夹的权限

时间:2018-07-12 19:15:21

标签: php laravel

我目前即将部署Laravel应用。我的功能之一是生成PDF并将文件保存在存储文件夹中。但是问题是,它仅在存储文件夹具有777权限时才有效。当然,一旦部署,这将带来很大的安全风险。我该如何解决?因为如果我没有777权限,它将返回一个Warning: mkdir() [function.mkdir]: Permission denied in ...错误。

谢谢:)

2 个答案:

答案 0 :(得分:1)

应该在存储文件夹上将这些权限设置为770

这将允许目录的所有者(最好是维护Web管理员)读取/写入/执行。它将允许Web组(最好是维护Web管理员和Web服务器用户所在的组)具有读/写/执行权限。 0表示其他用户对该目录没有权限。该目录应归维护Web管理员所有,并将其所有权组设置为Web组。

示例

chown -R /var/www/html/mysite.com/ mywebadmin:www-data
chmod -R 750 /var/www/html/mysite.com/ 
chmod -R 770 /var/www/html/mysite.com/storage

结果

  • /var/www/html/mysite.com-由mywebadmin拥有,组为www-data
    • 所有者可以编写/读取/执行
    • 组可以读取/执行
    • 别人无能为力
  • /var/www/html/mysite.com/storage-由mywebadmin拥有,组为www-data
    • 所有者可以编写/读取/执行
    • 组可以写入/读取/执行
    • 别人无能为力

如果您很难记住这些权限,可以使用tool来生成这些权限。

  

注意:在目录中具有Web用户的写访问权限极其危险。更好的选择是创建一个PHP脚本,将其Content-Type的标头更改为application/octet-stream,然后让PHP脚本在不写入文件系统的情况下内部生成所需的文件。

答案 1 :(得分:0)

服务器权限的默认设置为754。通常。