Re: Systemd, PHP-FPM, and /cgi-bin scripts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Tue, Apr 23, 2019 at 11:37:51PM -0700, Benjamin Smith wrote:
> But... php-fpm has its own "tmp" directory, something like /tmp/systemd-
> private-RANDOM-php-fpm.service-RANDOM/tmp that the cgi-bin has no access to. 
> To be able to populate $_FILES in a way compatible with the rest of the 
> framework, it appears that I need to be able to run the /cgi-bin in the same 
> context as the php-fpm environment so files can be access across all the 
> different parts of the web app. This includes related things like access to 
> the $_SESSION data files, and so on. 

Don't share data between services with /tmp.

Create a separate directory to share data, make sure the permissions
and SELinux attributes allow writing there.  Put it in
/run/yourservice/ if you want it to be ephemeral and small.

The reason why the php-fpm service has its own private /tmp directory
is because the php-fpm.service has "PrivateTmp=true" in its [Service]
section.  This creates a private /tmp namespace for the php-fpm
process, which is a good security practice.

If you absolutely must share files via /tmp, you'll have to create an
/etc/systemd/system/php-fpm.service.d/override.conf that has a
[Service] section that says PrivateTmp=false.  It's a bad idea and
you're actually lowering the security of your system by doing it.

-- 
Jonathan Billings <billings@xxxxxxxxxx>
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
https://lists.centos.org/mailman/listinfo/centos



[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]


  Powered by Linux