[FUG-BR] Apache
Daniel Itaborai
itaborai83 em yahoo.com.br
Qua Jan 26 23:23:45 BRST 2005
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 <itaborai83 em yahoo.com.br>
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[] =
> "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/
>
__________________________________________________
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