Em 30 de outubro de 2010 00:52, PaulinhoLinux <[email protected]> escreveu: > Salve galera blzzz > > Estou com um grande problema ... > > Possuo uma página em PHP e no final dela um botão aplicar, que deverá ter como > função o reload do serviço squid. Só que o arquivo tem como dono o usuário do > apache (www-data) e não o root. Tenho utilizado no código fonte comandos em > php > como o exec, shell_exec ,mas os comandos não estão funcionando. > > Alguém tem alguma idéia de como posso fazer esse reload (ou dependendo do caso > restart do serviço) através da linguagem PHP ? > > Obrigado antecipadamente .... > > Até mais > > PaulinhoLinux >
A pior maneira de se fazer isso seria usando um shell script com SETUID [1,2] A maneira "menos pior é usando o sudo para escalonar privilégios de root ao usuário do Apache de forma que ele execute apenas um somando [3] - Existem outras maneiras como usar um cgi; - Usar um arquivo de registro como um flag para que um outro script rodando via cron pudesse ler este arquivo recebendo então uma autorização para executar sua tarefa como root; - O mesmo exemplo anterior, mas substituindo o cron por um daemon; - Entre outras. Se você quer algo rápido e prático em um ambiente que a segurança não algo muito crítico use o setuid, se ovocê quer um pouco mais de segurança use o sudo; qualquer outra possibilidade procure no Google pelas outras sugestões ;) [] [1] http://www.faqs.org/faqs/unix-faq/faq/part4/section-7.html [2] http://www.tuxation.com/setuid-on-shell-scripts.html [3] http://aplawrence.com/SCOFAQ/FAQ_scotec1asroot.html -- Welington Rodrigues Braga -------------- Web: http://www.welrbraga.eti.br MSN: welrbraga[*]msn·com Gtalk: welrbraga[*]gmail·com Yahoo / Skype: welrbraga PGP Key: 0x6C7654EB Linux User #253605 "Em tudo somos atribulados, porém não angustiados; perplexos, porém não desanimados; perseguidos, porém não desamparados; abatidos, porém não destruídos;" - 2Co 4:8,9 -- Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece Lista de discussão Ubuntu Brasil Histórico, descadastramento e outras opções: https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

