Estou tentando executar um script com acesso root do PHP. Eu não posso fazer isso porque o usuário do Apache, www-data
, não tem acesso root por motivos de segurança. Para consertar isso, fui aconselhado a usar um pipe nomeado. Primeiro tentei adicionar a permissão sudo a www-data
, mas foi-me dito que definitivamente não era bom devido a riscos de segurança (além disso, tentei adicioná-lo, mas não funcionou).
Aqui é onde está o meu problema. Se eu entendi isso corretamente, vou precisar de um script que inicia automaticamente na inicialização do sistema, e constantemente aguarda em segundo plano tentando ler de um pipe nomeado. O script, a.k.a. pipe reader, deve ser executado como root para obter acesso root. Então, do PHP, eu apenas envio alguns dados através do pipe para o leitor de pipe, que é então passado para o script principal que estou tentando executar do PHP.
Dessa forma, como o leitor é executado como root, o script principal será executado com acesso root. O que eu chamo de "script principal" é um script bash que cria um usuário e precisa que o root funcione. É o script que estou tentando executar do PHP com acesso root.
Esta é a melhor abordagem para o meu problema? Eu entendi corretamente?
Atualização: estou executando o Ubuntu 12.04.1.