更改 php-fpm 组

Changing group of php-fpm

我想和另一个组一起执行php-fpm (7.2),同时留在原来的组。

目前 php-fpm 以 www-data 作为用户和组运行。我创建了一个新组 (testgrp) 并将用户 www-data 添加到该组。

www-data 有 gid: 33
testgrp 有 gid: 144

对于生成的 PHP-进程,/proc/PID/status 给我:

Uid:    33  33  33  33
Gid:    33  33  33  33
Groups: 33 144 

这表明 php 以 www-data 作为用户和主组运行,但也在 testgrp 中。

当我在 /etc/php/7.2/fpm/pool.d/www.conf 中设置 group = testgrp 时,我得到:

Uid:    33  33  33  33
Gid:    144 144 144 144
Groups: 144 

所以 php 以 testgrp 作为唯一组运行。

有没有办法在不失去 www-data 成员的情况下更改执行组?

所以在查看 php-fpm 的源代码后,我找到了解决方案:

我不得不将用户 www-data 添加到 www-data 组(再次)。
即使 www-data 是用户 www-data 的主要组,也必须在 /etc/group 中分配,因为 php-fpm 使用来自 /etc/group + 提供的组的组,同时忽略主要组。