Я нашел пару решений для этого:
Новые файлы, созданные в Wordpress (на самом деле PHP), определяются пользователем групповыми директивами в конфигурационном файле пула php-fpm, в котором выполняется PHP. Таким образом, чтобы заставить вновь созданные файлы принадлежать сайту-пользователю: владение http, как я изначально надеялся, вы можете просто установить user = site-user и group = http в вашем файле конфигурации php-fpm для вашего сайта . Это работает в том, что вновь созданные файлы имеют владельца группы, которую я искал. Однако с точки зрения безопасности это частично противоречит цели создания отдельных пулов php-fpm для каждого сайта, поскольку любой пользователь сайта может потенциально создавать файлы PHP, которые будут иметь доступ для чтения к файлам / каталогам другого сайта.
Проще и безопаснее, чем вышеописанный # 1, это иметь все файлы / каталоги сайта, принадлежащие site-user: site-user (вместо site-user: http, как я изначально планировал), а затем добавить пользователя http в сайт-пользователь группы . С разрешениями 640 (файлы) и 750 (папки) на всех сайтах это фактически дает nginx доступ только для чтения к файлам каждого сайта по мере необходимости, но при этом запрещает любому пользователю читать файлы любого другого сайта, кроме своих собственных.
Вариант № 2, описанный выше, не требует использования бита setgid, что упрощает работу, но требует добавления следующего в ваш файл wp-config.php :
define( 'FS_CHMOD_DIR', ( 0750 & ~ umask() ) );
define( 'FS_CHMOD_FILE', ( 0640 & ~ umask() ) );
Без вышеприведенных строк WordPress / PHP создаст общедоступные файлы (644) и папки (755).