Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Olá amigos do Under, gostaria que me sanassem algumas dúvidas.

    Seguinte, estou no final do meu Curso Técnico em Desenvolvimento de Sistemas e Redes de Computadores e como de praxe preciso apresentar meu projeto de conclusão de curso.

    Pois bem, minha idéia é montar uma interface web para gerenciamento de provedores wireless.

    Irei utilizar o PHP na linha de comando integrado ao mysql.

    Daí minhas dúvidas são as seguintes:

    [list]1- Se eu colocar esses script na raiz do servidor web, consiguirei eu digitando o caminho relativo ao meu script executa-lo como se estivesse rodando ele no shell?
    2- Tem como atráves de um script em php eu executar um outro script em bash por exemplo?
    3- Como faço para rodar um comando com direito de root? Pois precisarei rodar o iptables e outros comandos que requerem direitos de root e como os scripts rodaram no apache daí não terei permissão.[/list:u]

    Agradeço a ajuda que puderem me dar.

  2. #2

    Padrão PHP na linha de Comando

    Alou maverick_cba,

    1- Consegue sim. Porem seus scripts devem possuir o caminho para o php , mais ou menos assim:

    #!/usr/local/bin/php -q
    <?php
    ...

    e vc chama pelo caminho dele /home/user/script.php
    Este é o jeito mais facil, Neste endereço vc encontra outros:
    http://www.master.iag.usp.br/manuais...mmandline.html


    2- Sim tem, utilizando algumas funções "Perigosas" da para fazer.
    funções como exec , shell_exec , system entre outras . Dá uma pesquisada por elas no goolge.

    3- Aí vai ser problema, pois dependendo das funções/comandos desejarão que vc esteja como root na máquina.

    Ve se te ajuda para começar.
    Falou abraços.



  3. #3
    Shadow_Night
    Visitante

    Padrão PHP na linha de Comando

    errr.. cara, acho estranho vc com uma aplicação web ter direitos root, acho que isto não vai dar não, motivo seria obvio, virus, ai qualquer um poderia escrever um escripitzinho que desconfigura o bashrc com uma aplicação web por expl, creio, que seja dificil conseguir permissção root em um sistema, posso estar falando besteira se estiver que o moderador delete meu topico por favor.

  4. #4
    dougfunny
    Visitante

    Padrão executar comandos de root

    ola, caro amigo, vc pode executar comandos de root sim como qq usuario, vc deve utilizar o "sudo" para isso.



  5. #5

    Padrão Re: executar comandos de root

    Citação Postado originalmente por dougfunny
    ola, caro amigo, vc pode executar comandos de root sim como qq usuario, vc deve utilizar o "sudo" para isso.
    Desde que você configure o "sudo" para executar esses comandos, e para configurar o "sudo" você vai precisar da senha de root. Portanto, acho que procede a colocação do nosso colega Shadow_Night.

    []'s
    Cléoson.

  6. #6
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Obrigado amigos pelas dicas. Quanto a colocação do amigo Shadow_Night, tb acho que rodar algo como root vai ser problema e problema é algo que eu não quero, pois alem de funcional essa aplicação deve ser segura ou pelo menos possuir um nível de segurança aceitável.

    Outra coisa, somente precisarei executar o iptables e um script que faz a limitação da banda do usuário (o Bandlimit do Underlinux).

    Daí a pergunta, como eu posso fazer para rodar algum script do iptables sendo que meu apache roda com o usuário do apache mesmo.

    Já me recomendaram colocar o apache como root e colocar uma senha nele, de forma que quando abrirem o browser ele solicite a senha para acesso. Porem não sei se isso é realmente seguro.
    Quanto ao sudo ainda não estou muito familiarizado com ele. Poderiam me dar uma ajuda?



  7. #7

    Padrão PHP na linha de Comando

    Com relação ao sudo creio que não vai ajudar muito. Na verdade sudo é uma forma do root dar "poderes" aos usuários "normais".

    Digamos que vc queira que seu usuário zezinho seja capaz de criar outros usuários. Somente isso. Com o sudo é moleza. vc define isso num arquivo de configuraçao( geralmente /etc/sudoers.conf veja se vc já tem ele).

    O problema seria implementar isso no apache. Alem da segurança já citada.

    A não ser que vc de determinados poderes ao usuário nobody ou apache. Não sei se funciona, teria que testar. Se for o caso da uma pesquisada por sudo na net,
    Mas para uma máquina de produção é meio arriscado.

    Espero que te ajude em algo,

    Abraços.

  8. #8
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Então amigos, uma solução que me caberia corretamente serial algo como o webmim, uma ferramenta web para gerenciamento de servidores.

    Porem no meu caso eu irei desenvolver a minha própria ferramenta em php.
    Troquei umas idéias aqui e acho que vou adotar o apache autenticado como solução. Porem se alguem tiver uma solução melhor essa será bem vinda.

    Obrigado.



  9. #9
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    3.925
    Posts de Blog
    1

    Padrão PHP na linha de Comando

    galera eu fiz um pra min tudo em php naum usei nada de script em shel

    www.foxbyte.com.br/gerenciador
    user demo
    senha demo

    este esta bagunçado pois é um demo



    flw

  10. #10
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Você quem desenvolveu isso aí cara? Isso tá funcional? Pois se não der os comandos no shell num rola, pois como você vai limitar a banda do usuário sem executar algum comando no servidor?

    É exatamente isso que eu tô precisando... Só que de tanto eu apanhar já tô pensando até em desenvolver um módulo personalizado para o webmin.

    Já tentei um tal de suphp (um módulo do apache que executa o script php com as permissões do dono do arquivo) porem não deu certo e já desisti.

    Não sei mais o que fazer, acho que vou ter que aprender PEARL e fazer no webmin.



  11. #11
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    3.925
    Posts de Blog
    1

    Padrão PHP na linha de Comando

    o veio vc entro no demo

    ele ja ta pronto

  12. #12
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Entrei sim... porem o que quero saber é se ele já está funcionando, tipo se você especificar um limite de banda nele ele vai funcionar?

    A interface é tranquila... agora para colocar os comandos iptables no firewall que é o problema...



  13. #13
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    3.925
    Posts de Blog
    1

    Padrão PHP na linha de Comando

    o veio eu tenho este sistema em mais de 30 provedores

    estão funcioando normal

    a velocidade é controlado pelo cbq a unica coisa que faço é cria o banco de dados e depois gerar os arquivos
    e assim por diante

    pegao meu msn ai que eu te dou uma força

  14. #14
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    3.925
    Posts de Blog
    1

    Padrão PHP na linha de Comando

    ops desculpa naum respondi sua pergunta direito

    sim ele executa comandos do linux sim
    como iptables cbq dhcpd

    tudo que vc faz em shel ele faz em php



  15. #15
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Cara então me conta ai como você tá fazendo isso?

    Pois a unica explicação seria o apache (servidor web) rodando como root.

    E é algo que eu não queria fazer...

    Mas se não tiver outra alternativa... daí eu vou ter que apelar para isso.

  16. #16
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    3.925
    Posts de Blog
    1

    Padrão PHP na linha de Comando

    naum o apache como root naum

    ele roda com usuario que eu criei
    vc tem que configurar o sudo



  17. #17
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Cara poderia me explicar melhor como fazer isso, pois tentei com o sudo e na hora o apache fica pedindo senha, tem como fazer com que ele não peça senha?

    Tipo se eu fizer assim:
    sudo -u root iptables -A bla bla bla

    Ele vai me pedir a senha de root, daí não dá certo, pois como eu vou inserir a senha rodando o apache?

  18. #18
    Moderador Avatar de Bruno
    Ingresso
    Nov 2002
    Localização
    Guarapuava-PR
    Posts
    3.925
    Posts de Blog
    1

    Padrão PHP na linha de Comando

    faz assim o
    webmaster NOPASSWD: ALL /usr/sbin/iptables



  19. #19
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Fera tá dando erro... erro de sintaxe.

  20. #20
    maverick_cba
    Visitante

    Padrão PHP na linha de Comando

    Amigão consegui... troquei por

    webmaster ALL=NOPASSWD: /sbin/iptables

    Funcionou na boa...

    Cara velew mesmo pela ajuda, acho que agora vou poder fazer meu projeto mais tranquilo...

    Fico muito grato! :clap: