por que o apache ainda grava arquivos para os quais tinha permissões depois que eu o excluí do grupo que tem permissão quando estava em execução

1

No servidor, tenho um arquivo chamado upload e seu estado era o seguinte:

drwx--x--- 12 bob bob 4096 JUL 20 19:07 upload

Eu uso este arquivo para ser o arquivo de destino do segundo argumento da PHP move_uploaded_file para armazenar os arquivos enviados.

Portanto, para obter o apache dessa permissão para mover arquivos de / tmp para meu upload , Eu adiciono o apache ao grupo bob , então ele tem a permissão. apache é o usuário em que o apache está sendo executado.

Mas se eu excluir o apache do grupo bob usando usermod , ainda posso enviar arquivos, o que significa apache ainda tem permissões como se ainda estivesse no grupo, mas obviamente não é.

O upload de arquivos falhará somente quando eu

chmod -R 700 upload

ou sempre que eu

service httpd restart

Eu não sei onde eu perdi isso.

Parece-me que usermod só aplicará alterações de permissão depois de reiniciar o apache.

Agradecemos antecipadamente por me ajudar.

    
por longtengaa 20.07.2013 / 15:14

1 resposta

3

Esse é o comportamento esperado, o comando usermod apenas altera os arquivos da conta

The usermod command modifies the system account files to reflect the changes that are specified on the command line.

O processo apache receberá privilégios quando iniciado, com base nas informações contidas nos arquivos relevantes da conta, ele será retido até que seja reiniciado.

    
por 20.07.2013 / 15:41