运行下面的命令:grep httpdusr /etc/passwd
输出:httpdusr:x:99:0:Apache httpd user:/tmp:/bin/sh
根据你的 grep httpdusr /etc/passwd 输出,httpdusr 用户确实存在(UID=99,GID=0),但当你尝试 chown -R httpdusr:httpdusr 时仍然报错 unknown user/group。这可能是由于 httpdusr 的组(GID=0)被系统保留或未正确配置 导致的。
解决方案:直接使用 UID/GID 数字(推荐)
既然 httpdusr 的 UID=99、GID=0,可以改用数字形式。
sudo chown -R 99:0 /share/Web/wordpress
根据你的 ps aux | grep php-fpm 输出,可以看到:
PHP-FPM 主进程以 admin 用户运行
PHP-FPM 工作进程(实际处理请求的)以 httpdusr 用户运行
这种混合用户模式是导致权限问题的关键原因。以下是针对性解决方案:
终极解决方案
1. 统一文件所有权(关键步骤)
bash
复制
设置整个wordpress目录为httpdusr所有
sudo chown -R 99:0 /share/Web/wordpress
设置安全权限
sudo find /share/Web/wordpress -type d -exec chmod 755 {} \;
sudo find /share/Web/wordpress -type f -exec chmod 644 {} \;
特别设置wp-content可写
sudo chmod -R 775 /share/Web/wordpress/wp-content
但确实好了。发现其实就是要把主目录设置为httpusr,单目录设置是不行的,尤其是混合用户模式。