[FUG-BR] Apache

Daniel Itaborai itaborai83 em yahoo.com.br
Qua Jan 26 23:13:04 BRST 2005


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[] =
"seu_zeh em pereira.com.br";

        // 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 <tiagoghisi em gmail.com> 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
> <itaborai83 em yahoo.com.br> 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 <tiagoghisi em gmail.com> 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 em 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 em 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 em 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 em 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/




Mais detalhes sobre a lista de discussão freebsd