【问题标题】:Permission denied on files (Laravel, Windows Server 2016, IIS10)文件权限被拒绝(Laravel、Windows Server 2016、IIS10)
【发布时间】:2020-08-26 22:17:22
【问题描述】:

我这几天一直在寻找解决问题的方法。不幸的是,我还没有找到解决方案。

我们在公司工作,使用 Laravel (php)Windows servers 2016。我有一个 Laravel Web 应用程序,它在具有 Windows 身份验证IIS 10 上运行。出于安全原因,我们决定激活 fastcgi.impersonate。由于我们在 php.ini 中打开了模拟,因此 Laravel 应用程序中的文件(例如** laravel.log**)存在权限错误。从那时起,不再使用 IUSR 访问文件,而是使用登录 Web 应用程序的用户帐户(例如 domain\sabine.sample)。但是,这些用户不应直接访问文件系统。

有没有人知道不是登录的 Windows 帐户访问文件,而是再次访问 IUSR 或 Apppool 用户的解决方案?

我的设置:

  • Windows Server 2016
  • IIS 10
  • PHP 7.2.21
  • Laravel 5.8.36

编辑:

这些是浏览器显示的错误。

First Second

【问题讨论】:

  • 你能分享一下你得到的确切错误吗
  • 抱歉,已更新。
  • 能否分享一下您在 iis NTLM 或 Negotiate 中设置了哪个提供商?
  • @JalpaPanchal NTML

标签: php laravel windows-authentication impersonation iis-10


【解决方案1】:

当您的存储文件夹没有正确的权限时,这是一个常见问题。设置存储权限为770 例如chmod -R 770 /var/www/html/mysite.com/storage

【讨论】:

  • 在这种情况下,我可以授予所有域用户访问该文件夹的权限。但这不会导致问题,因为域中的每个人都可以访问所有文件吗?该文件夹可能包含敏感数据,并非每个人都应该有权访问。
  • 实际上是公开的存储文件夹。认为所有公共图像、文件和其他资产都必须是可公开访问的。而770是一种存储文件夹的标准。
  • 同意阿里夫。文件夹权限导致问题
  • 正如阿里夫所说,这是一个公共文件夹
  • 非常感谢!我同意你的观点,权限是通往这里的道路。但现在我们希望 IIS AppPool 用户写入存储文件夹,而不是域用户。有没有可能?
猜你喜欢
  • 2016-04-03
  • 1970-01-01
  • 2015-12-03
  • 2017-04-01
  • 1970-01-01
  • 2016-05-02
  • 2016-10-18
  • 2016-01-07
  • 1970-01-01
相关资源
最近更新 更多