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

Adi*_*dis 1 php laravel

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

谢谢 :)

Nat*_* F. 8

这些权限应设置为770对存储文件夹。

这将允许目录的所有者(最好是维护 Web 管理员)读/写/执行。并且它将允许 web 组(理想情况下维护 web-admin 和 web 服务器用户所在的组)具有读/写/执行权限。0 表示其他用户在该目录中没有权限。该目录应由维护 Web 管理员拥有,并将其所有权组设置为 Web 组。

例子

chown -R mywebadmin:www-data /var/www/html/mysite.com/
chmod -R 750 /var/www/html/mysite.com/ 
chmod -R 770 /var/www/html/mysite.com/storage
Run Code Online (Sandbox Code Playgroud)

结果

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

如果您很难记住它们,有一个有用的工具可以生成这些权限。

注意:对目录中的 Web 用户具有写访问权限是极其危险的。更好的选择是创建一个 PHP 脚本,将其标题更改为Content-Typetoapplication/octet-stream并让 PHP 脚本生成内部所需的文件,而无需写入文件系统。

  • 请更正第一个命令 (chown)。首先是用户:组,然后是路径。 (2认同)