Esqueci de dizer ... seu script que o apache roda
precisa chamar esse programinha, que por sua vez
chamara o outro programa como root ou outro uid.

no php, vc usario algo do tipo

system("/caminho/completo/do/programa", $retval);

o valor de retorno eh armazenado em $retval, mas
em uma boa parte dos casos pode ser ignorado

 --- Daniel Itaborai <[EMAIL PROTECTED]>
escreveu: 
> compile o programinha com
> 
> gcc -Wall -o nome-do-executavel nome-do-fonte.c
> rooteie-se, chown no executavel pra ser do root,
> depois chmod 4555 no executavel ... se vc nao mudar
> o codigo, qualquer um que execute o programa
> vai ver um lindo # no prompt ...
> 
> //int execve(const char *path, char *const argv[],
> char *const envp[]);
> 
> int main(int argc, char **argv, char **envp){
> 
>         const int uid = 0; // zero para root
>         const char path[] = "/usr/local/bin/bash";
>         const char administrador[] =
> "[EMAIL PROTECTED]";
> 
>         // caso o seu script precise de argumentos
> envie-os assim
>         // char **argv = {
>         //      "string de argumento 1",
>         //      "string de argumento 2",
>         //      "string de argumento 3",
>         //      0  // aqui eh Zero ou NULL
>         //  };
>         //
> 
>         setuid(uid);
>         execve(path, argv, envp);
> 
>         // execve substitui a imagem do processo, se
> chegou ateh aqui,
>         // quer dizer que execve falhou, retornando
> -1
> 
>         // o usuario ve essa mensagem
>         fprintf(stdout,
>
"<html><head><title>Erro</title></head><body><b>Erro</b><hr>\n");
>         fprintf(stdout, "<i> favor contactar o
> administrador no email %s </i></body></html>\n",
> administrador);
>         // aqui aparece no log do apache
>         fprintf(stderr, "--- IMPORTANTE ---
> Impossivel
> executar %s com permissoes administrativas\n",
> path);
> 
>         return 0;
> }
> 
> 
>  --- Tiago Ghisi <[EMAIL PROTECTED]> escreveu: 
> > olha, realmente, ate sei disso, mas realmente, vou
> > ser obrigado a
> > roda-lo, se possivel vc pudesse me mandar, eu
> > agradeceria e muito
> > 
> > Tiago Ghisi
> > 
> > []“s
> > 
> > 
> > On Wed, 26 Jan 2005 21:12:36 -0300 (ART), Daniel
> > Itaborai
> > <[EMAIL PROTECTED]> wrote:
> > > Um resposta curta e grossa eh ...
> > > vc nao pode rodar nenhum script setuid root no
> > apache.
> > > 
> > > ... mas o que vc pode fazer eh rodar um script
> > > qualquer
> > > que execute um programa que por sua vez sjea
> > setuid
> > > root ... e isso eh uma boa ideia? Na verdade eh
> > uma
> > > pessima ideia ... o ideal eh desacoplar o maximo
> > > possivel qualquer operacao do servidor de
> > operacoes
> > > que podem potencialmente titicar seu sistema.
> > > 
> > > caso queira, eu posso te passar o codigo em c
> > > de um programa que execute um script qualquer
> como
> > > root ... eh soh uma chamada a execve, mas
> > realmente
> > > nao eh lah uma boa ideia
> > > 
> > > Daniel Lemos Itaborai
> > > --- Tiago Ghisi <[EMAIL PROTECTED]> escreveu:
> > > > Preciso roda uma aplicacao via apache, sendo
> que
> > ela
> > > > tem que se
> > > > executada via super usuario, existe maneira de
> > roda
> > > > o apache como
> > > > root, ou algum script, e qual seria o script
> > pode
> > > > ser em php, nao sei,
> > > > para que o usuario que estiver rodando o
> apache
> > > > virar super usuario?
> > > >
> > > > >
> > >
> >
>
_______________________________________________________________
> > > > Para enviar um novo email para a lista:
> > > > freebsd@fug.com.br
> > > > Sair da Lista:
> > > >
> > >
> >
>
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
> > > > Historico:
> > > http://www4.fugspbr.org/lista/html/FUG-BR/
> > > 
> > > 
> > >
> >
>
_______________________________________________________
> > > Yahoo! Acesso Grįtis - Instale o discador do
> > Yahoo! agora. http://br.acesso.yahoo.com/ -
> Internet
> > rįpida e grįtis
> > > 
> > >
> >
>
_______________________________________________________________
> > > Para enviar um novo email para a lista:
> > freebsd@fug.com.br
> > > Sair da Lista:
> >
>
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
> > > Historico:
> > http://www4.fugspbr.org/lista/html/FUG-BR/
> > >
> > 
> >
>
_______________________________________________________________
> > Para enviar um novo email para a lista:
> > freebsd@fug.com.br
> > Sair da Lista:
> >
>
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
> > Historico:
> > http://www4.fugspbr.org/lista/html/FUG-BR/
> >  
> 
> __________________________________________________
> Converse com seus amigos em tempo real com o Yahoo!
> Messenger 
> http://br.download.yahoo.com/messenger/ 
> 
>
_______________________________________________________________
> Para enviar um novo email para a lista:
> freebsd@fug.com.br
> Sair da Lista:
>
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
> Historico:
> http://www4.fugspbr.org/lista/html/FUG-BR/
>  

__________________________________________________
Converse com seus amigos em tempo real com o Yahoo! Messenger 
http://br.download.yahoo.com/messenger/ 

_______________________________________________________________
Para enviar um novo email para a lista: freebsd@fug.com.br
Sair da Lista: http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/

Responder a