
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 lua
pode ser usado para essa finalidade.