Criando novos usuários usando PHP não reconhecido pelo Apache 2.4

1

Eu tenho uma configuração de servidor onde novos usuários do Linux são criados usando (PHP)

shell_exec ( '/usr/sbin/useradd ' . $username );
exec ('usermod -a -G ' . $username . ' '. $username); #add user into the usergroup
exec ('usermod -a -G ' . $username . ' www-data'); #add usergroup with the www-data

E o script do usuário altera o proprietário e o grupo dos arquivos para esse proprietário. O servidor é configurado com o suPHP, que permite que esses arquivos sejam executados como proprietário.

Esta configuração funcionou bem com o Apache 2.2, mas está quebrando no Apache 2.4. Tudo funciona bem, exceto quando tento omitir os arquivos, isso causa um erro 403 proibido. Reiniciar o apache depois que o usuário é adicionado corrige o problema, mas isso não é uma solução viável para mim. Os usuários são adicionados usando um servidor web e, portanto, eu preciso ser capaz de fazer isso sem precisar recarregar / reiniciar o apache toda vez.

Eu pesquisei por horas de servidor e tentei corrigir o problema, mas não consegui! Estou executando o Ubuntu 14.04 e também não posso fazer o downgrade para o Apache 2.2.

    
por Kshitiz Shankar 05.09.2014 / 15:45

1 resposta

2

Toda vez que você se adiciona a um grupo, você precisa fazer logout e efetuar login novamente para que as alterações entrem em vigor. A mesma coisa está acontecendo aqui, ao reiniciar o Apache, você permite que ele "efetue login novamente" e esteja no grupo do usuário, o que permite que ele leia e forneça os arquivos do usuário.

    
por 06.09.2014 / 15:18