代码之家  ›  专栏  ›  技术社区  ›  Francisco Garrido

拒绝对Apache2/Debian 9的写入权限

  •  0
  • Francisco Garrido  · 技术社区  · 6 年前

    我有一个运行prestashop的apache2 php fpm的vps,它已经工作了很多年,但是突然之间,prestashop遇到了权限问题。

    apache的用户和组设置为“www data”,与www文件夹中的所有文件和文件夹相同。所有权限都设置为755和644,但cache/smarty(必须将这些权限设置为777,以便存储可以继续工作)。

    我已经检查过这是一个权限问题,因为prestashop无法从后台重新生成.htaccess文件(除非我将其设置为777)。

    我不知道该查什么,也不知道能给你什么。欢迎任何帮助。谢谢大家抽出时间。

    编辑

    我一直在检查“apache2”的进程,所有进程都是由www数据运行的。

    SteadWeb告诉我要检查php fpm,似乎这就是问题所在。但我不知道该在哪里改变。

    enter image description here

    0 回复  |  直到 6 年前
        1
  •  1
  •   steadweb    6 年前

    在测试 Debian 9.7 ,编辑以下文件:

    /etc/php/7.0/fpm/pool.d/www.conf
    

    找到下面的 user / group 已声明。更新如下:

    ...
    user = www-data
    group = www-data
    

    你需要重新启动 apache / php-fpm 过程

    ressystemctl restart php7.0-fpm apache2
    

    笔记

    • 这是不好的做法,因为你为 PHPFPM . 我会确保特定的目录/文件有写权限。
    • 将Web目录设置为用户的所有权 chown -R user:www-data /path/to/website
    • 使用以下命令为网站设置目录/文件的权限
    cd /path/to/website
    find -type d -exec chmod 750 {} \;
    find -type f -exec chmod 644 {} \;
    
    • 然后,打开 具体的 需要可写访问权限的文件/目录。