如何将 Laravel 存储权限设置为 777?

3

由于某种原因,我不得不将我的Laravel存储文件夹设置为777。

我运行了这个命令sudo chmod -R 775 storage/,但我的权限错误没有解决,所以我通过运行这个命令将权限从775更改为777:sudo chmod -R 777 storage/

我的问题是,777权限会对我的Laravel造成任何问题(禁止访问或安全性),还是可以接受的?

3个回答

9

这是我找到的最佳解决方案。

步骤1:更改根目录的所有者:

sudo chown -R www-data:www-data /path/to/root

步骤2:授权FTP上传和操作文件(用于使用任何FTP客户端):

sudo usermod -a -G www-data ubuntu

步骤三:将文件权限设置为644:

sudo find /path/to/root -type f -exec chmod 644 {} \;

步骤四:将目录权限设置为755:

sudo find /path/to/root -type d -exec chmod 755 {} \;

步骤五:授予Web服务器读写存储和缓存的权限。
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache

来源:https://vijayasankarn.wordpress.com/2017/02/04/securely-setting-file-permissions-for-laravel-framework/

这篇文章介绍了如何在 Laravel 框架中安全地设置文件权限。


谢谢您的回复,但我真的想知道将chmod更改为777是否会对我的项目造成任何访问或安全威胁? - Pejman Kheyri
@pejmankheyri,正如您从博客中所读到的,这是一个严重的安全问题。 - Elnur Ibrahim-zade

6
从项目根目录运行以下命令:
    sudo chmod -R gu+w storage/
    sudo chmod -R guo+w storage/
    sudo chmod -R gu+w bootstrap/cache/
    sudo chmod -R guo+w bootstrap/cache/

你能解释一下这个是做什么的吗? - Macdonald
1
g:组,u:用户,o:其他人,+w:添加写入权限。实际上第一条和第三条命令是无用的。 - btx

0
简而言之,根据 OP 的问题,需要将权限设置为 775,并确保活动用户已添加到组中(使用“ls -alh”命令进行检查)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接