logo       

Re: RES: Openwebmail x Awstats: msg#00047

Subject: Re: RES: Openwebmail x Awstats
"Carlos Mendes" <mendes.carlos@xxxxxxxxx> writes:

> Andei pesquisando sobre mas não consegui entender, você pode me dar um
> exemplo de utilização?


Este código C está na documentação:

           #define REAL_PATH "/path/to/script"
           main(ac, av)
               char **av;
           {
               execv(REAL_PATH, av);
           }


Para um script chamado /home/godoy/bin/meu_script.pl que eu preciso rodar com
o proprietário do processo sendo o root eu criaria algo como:

           #define REAL_PATH "/home/godoy/bin/meu_script.pl"
           main(ac, av)
               char **av;
           {
               execv(REAL_PATH, av);
           }

Geraria o executável (supondo que o código acima estivesse em um arquivo
"codigo_acima.c" eu faria: make codigo_acima), mudaria o dono do arquivo para
o root e ajustaria o SUID bit nele:

           chown root /home/godoy/bin/codigo_acima
           chmod u+s /home/godoy/bin/codigo_acima

Agora, para executar o meu programa eu faria:

           /home/godoy/bin/codigo_acima parâmetro_1 parâmetro_2 ...

e ele executaria o meu_script.pl como se fosse o root com o comando:

           /home/godoy/bin/meu_script.pl parâmetro_1 parâmetro_2 ...


Se precisar executar o script como outro usuário, devo mudar o dono do
"codigo_acima" para este outro usuário.


O nome que se dá ao tipo de código escrito no "codigo_acima" é /wrapper/, que
vem do inglês "wrap": embrulhar, envolver.  Você está envolvendo o teu código
com um outro para modificar o comportamento dele. 


Para o openwebmail ou awstats eu não faço idéia de como você precisará mudar
isso ou quais os nomes que terá que dar, mas a idéia é essa.  Usar o suidperl
com o bit SUID ativado e com o dono sendo o root é um problema enorme (tanto
que o suidperl *não* é mais gerado em novas versões do Perl).


Sds,
-- 
Jorge Godoy      <godoy@xxxxxxxxxxxxxxx>


---------------------------------------------------------------------
Esta lista eh moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Antes de perguntar, consulte o historico da lista ou acesse:
Guia Foca GNU/Linux: http://focalinux.cipsga.org.br/
---------------------------------------------------------------------
Como Fazer Perguntas Inteligentes:
http://www.istf.com.br/?page=perguntas
---------------------------------------------------------------------
Visite nossa comunidade no Orkut:

http://www.orkut.com/Community.aspx?cmm=759644
---------------------------------------------------------------------
Divulgue nosso grupo:

http://groups.yahoo.com/group/suse-linux-br/
---------------------------------------------------------------------
Cancelar assinatura.: suse-linux-br-unsubscribe@xxxxxxxxxxxxxxx 
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.linux.brazil.suse-linux
--------------------------------------------------------------------- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/suse-linux-br/

<*> To unsubscribe from this group, send an email to:
    suse-linux-br-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 





<Prev in Thread] Current Thread [Next in Thread>