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/