nginx + php executado com ID de usuário diferente

nginx + php executado com ID de usuário diferente

No antigo sistema de servidor compartilhado eu tinha meu nome de usuário como A. Cada script PHP em meu site era executado com meu próprio nome de usuário:

$puser = posix_getpwuid(posix_geteuid())['name']; // = $puser = "A";

Agora eu executo meu próprio VPS que roda nginx e o nome de usuário/grupo é nginx.

No entanto, criei a conta de um amigo com nome de usuário B e quero que cada script PHP que ele cria seja executado com o usuário B, não com o nginx. Basicamente quero que cada script PHP seja executado com o UID do mesmo usuário que o criou.

Isso é possível com nginx?

Responder1

Com o nginx simples, você não pode fazer isso apenas com base na propriedade do arquivo.

PHP-FPM é o mecanismo de execução de script usado com nginx.

No PHP-FPM, existem pools de trabalhadores PHP, que podem ser configurados em diferentes portas. Cada trabalhador PHP-FPM pode ter um usuário usado para executar scripts para esse pool.

Então, no lado nginx, configuram-se regras que backend PHP-FPM é usado para qual solicitação. A configuração normal é que cada host virtual no nginx use seu próprio pool de trabalhadores PHP-FPM.

Com o nginx simples, não é possível verificar a propriedade do arquivo para que o local do back-end possa ser selecionado com essas informações. O módulo nginx luapode ser usado para essa finalidade.

informação relacionada