如何解决使用FileZilla向WordPress LEMP服务器上传文件时权限被拒绝问题
FileZilla向LEMP服务器传文件权限被拒解决方案
你在FileZilla中修改文件权限为777无效的核心原因是,当前登录的FTP用户对目标目录本身没有修改权限,改权限的操作本身就没有执行成功。
1. 确认站点目录归属
首先通过SSH登录你的服务器,执行以下命令查看站点根目录的用户/用户组归属:ls -ld /你的站点根目录路径
LEMP环境默认的站点根目录通常为/var/www/html或/usr/share/nginx/html,输出结果前两个字段就是对应目录的所属用户、所属用户组,通常为nginx、www-data两类。
2. 配置目录权限
不要使用777权限,会有严重的安全风险,选择以下任意一种方案配置即可:
- 方案一:将FTP登录用户加入web服务用户组
假设你的web服务用户组为www-data,FTP登录用户名为ftpuser,依次执行以下命令:usermod -aG www-data ftpuserchmod -R g+w /你的站点根目录路径
为了保证后续新上传的文件自动继承组权限,额外执行:find /你的站点根目录路径 -type d -exec chmod g+s {} \; - 方案二:直接修改目录归属为FTP用户+web组
执行命令直接修改目录所有权:chown -R ftpuser:www-data /你的站点根目录路径
同样执行上面的组写入、权限继承命令即可。
3. 排查SELinux限制(CentOS/RHEL系列系统适用)
如果完成上面操作后仍然报错,大概率是系统SELinux规则限制了FTP写入web目录,执行以下命令放行权限:setsebool -P allow_ftpd_full_access onsetsebool -P httpd_enable_homedirs on
如果上传后站点访问出现403错误,额外执行命令配置SELinux上下文:chcon -R -t httpd_sys_content_t /你的站点根目录路径
如果站点有需要写入的目录(比如上传、缓存目录),额外配置写入上下文:chcon -R -t httpd_sys_rw_content_t /你的站点根目录路径/对应可写目录
内容的提问来源于stack exchange,提问作者David Andor
相关产品推荐
相关产品推荐

