Laravel Storage文件夹的推荐安全权限设置咨询
Laravel Storage目录推荐安全权限配置(AWS EC2 Ubuntu环境)
针对你遇到的Laravel storage权限问题,以下是符合安全规范的推荐配置,可替代当前的755权限:
1. 核心原则
Laravel的storage和bootstrap/cache目录需要web服务器(Ubuntu下通常是www-data用户/组)具备写入权限,同时要限制其他系统用户的访问权限,避免敏感数据泄露。
2. 所有权配置
将目录所有者设为你的部署用户,所属组设为www-data,这样你可以正常维护文件,web服务器也能执行写入操作:
sudo chown -R $USER:www-data /var/www/vhosts/silkweb.ca/storage sudo chown -R $USER:www-data /var/www/vhosts/silkweb.ca/bootstrap/cache
3. 权限配置(两种可选方案)
方案一:传统权限设置
- 目录权限设为
770:仅所有者和web服务器组拥有读、写、执行权限,其他用户无任何访问权限 - 文件权限设为
660:仅所有者和web服务器组拥有读、写权限
执行命令:
sudo find /var/www/vhosts/silkweb.ca/storage -type d -exec chmod 770 {} \; sudo find /var/www/vhosts/silkweb.ca/storage -type f -exec chmod 660 {} \; sudo find /var/www/vhosts/silkweb.ca/bootstrap/cache -type d -exec chmod 770 {} \; sudo find /var/www/vhosts/silkweb.ca/bootstrap/cache -type f -exec chmod 660 {} \;
方案二:ACL精细权限控制(更推荐)
使用ACL可以在不修改传统权限的前提下,给www-data用户单独分配权限,适合多用户环境:
# 给www-data添加递归读写执行权限 sudo setfacl -R -m u:www-data:rwX /var/www/vhosts/silkweb.ca/storage sudo setfacl -R -m u:www-data:rwX /var/www/vhosts/silkweb.ca/bootstrap/cache # 设置默认ACL,确保新创建的文件/目录自动继承权限 sudo setfacl -dR -m u:www-data:rwX /var/www/vhosts/silkweb.ca/storage sudo setfacl -dR -m u:www-data:rwX /var/www/vhosts/silkweb.ca/bootstrap/cache
为什么当前755权限不安全?
755权限允许系统中所有其他用户读取storage目录下的内容,包括日志文件、缓存的敏感数据,存在信息泄露风险;而上述两种方案都严格限制了非必要用户的访问权限。
内容的提问来源于stack exchange,提问作者user761100
相关产品推荐
相关产品推荐

