📜  magento 2 文件权限 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:44:06.771000             🧑  作者: Mango

Magento 2 文件权限 - Shell/Bash

如果你是一个用 Magento 2 搭建电商平台的站长,你一定需要了解 Magento 2 的文件权限。为了保护站点的安全性,Magento 2 要求文件权限必须正确设置。本文将介绍 Magento 2 的文件权限设置,并提供 Shell/Bash 命令供您快速调整到正确的权限。

1. 文件权限设置
1.1 为什么需要文件权限设置?

Magento 2 是一个复杂的 eCommerce 平台,它需要许多文件和目录才能运行。如果这些文件和目录被其他人修改,就有可能影响站点的安全性和稳定性。因此,为了保护 Magento 2 站点,我们需要正确设置文件权限。

1.2 Magento 2 文件权限需求

Magento 2 安装向导在安装前会检查系统是否满足最佳实践的文件权限,同时提醒我们需要一些额外的文件权限设置。下面是这些权限设置的详细要求:

目录权限
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \;

我们需要将 var、generated、vendor、pub/static、pub/media 和 app/etc 这六个目录的权限设置为 group writable 权限,其中 var 和 generated 目录还需要设置 setgid 权限。

文件权限
chmod u+x bin/magento

Magento 2 的 CLI 工具 bin/magento 需要执行权限。

1.3 文件权限设置方法

如果你是一个 Linux 用户,你可以使用 Shell/Bash 命令来正确设置 Magento 2 的文件权限。下面是一个完整的 Shell/Bash 脚本,它将配置一个典型的 Magento 2 安装的文件权限。

# Set Magento application directory path
dir=$PWD

# Set file permissions
find ${dir}/var ${dir}/generated ${dir}/vendor ${dir}/pub/static ${dir}/pub/media ${dir}/app/etc -type f -exec chmod g+w {} \;
find ${dir}/var ${dir}/generated ${dir}/vendor ${dir}/pub/static ${dir}/pub/media ${dir}/app/etc -type d -exec chmod g+ws {} \;

# Set directory ownership
chown -R :www-data ${dir}/{app,var,generated,pub/static,pub/media}
chmod u+x ${dir}/bin/magento

这个脚本假设 Magento 2 的安装目录是当前工作目录 $PWD,你需要将它调整为你的实际安装路径。然后你可以将它保存为一个 Shell/Bash 脚本文件,比如 magento-permissions.sh,并通过 chmod 命令来使它具备执行权限:chmod +x magento-permissions.sh。

最后在终端运行这个脚本来设置 Magento 2 的文件权限:./magento-permissions.sh。

2. 总结

正确的文件权限设置是保护 Magento 2 站点安全性和稳定性的重要步骤。我们需要了解 Magento 2 的文件权限需求,并使用 Shell/Bash 命令快速设置正确的权限。使用上述 sShell/Bash 脚本可以方便快速地配置文件权限,保证了 Magento 2 的安全性和稳定性。