Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di PaoDJ
    Registrato dal
    Oct 2001
    Messaggi
    273

    Eseguire comandi come root da php

    Ciao a tutti,

    mi sto costruendo un piccolo pannello per la gestione di apache. Non conoscendo bene il perl, lo sto scrivendo in php.

    Sapete dirmi se esiste un modo per far eseguire dei comandi come root (es. riavvio del servizio apache) da php?

    Esiste la exec() ma esegue con i permessi di apache (o con i permessi dell'utente che sta eseguendo lo script via terminale).

    L'unica soluzione che mi è venuta in mente è quella di far partire un altro demone di apache che si esegua come root su una porta differente dall'80. Questo solo per eseguire il pannello, ma è affidabile far girare l'apache come root?

    Grazie in anticipo

  2. #2
    non credo
    piuttosto non si può magari fargli eseguire qualche comando tipo su a cui passare la password?
    e magari invece che a root fagli eseguire comandi da un utente del gruppo root ma non root, sempre per la sicurezza
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  3. #3
    Utente di HTML.it L'avatar di PaoDJ
    Registrato dal
    Oct 2001
    Messaggi
    273
    I comandi principali sarebbero:

    - editing del config di apache/php/bind e questo si può fare come un user del gruppo root
    - riavvio dei servizi apache, bind e per questo non saprei minimamente come fare.

    Consigli?

    Una domanda: se apache gira come un utente del gruppo root, non è comunque pericoloso?

  4. #4
    devi fare una cosa del tipo webmin, il tuo programma deve girare da root, i comendi li lanci da li.
    Ovviamente anche nel far girare il tuo programma da root ci son oimplicazioni di sicurezza.
    far girare apache come root non va bene assolutamente!
    PyGTK GUI programming
    un impegno concreto: eliminare la k dalle tastiere italiane

  5. #5
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Potresti usare sudo, oppure, se e' solo per modificare qualche file potresti dare il permesso di scrittura all'utente "apache" per quel file....
    La sicurezza diminuisce un po' per cio' che riguarda quei files o quei comandi, ma per tutto il resto non dovrebbe variare molto...

    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  6. #6
    Utente di HTML.it L'avatar di PaoDJ
    Registrato dal
    Oct 2001
    Messaggi
    273
    Originariamente inviato da /dev/null
    Potresti usare sudo, oppure, se e' solo per modificare qualche file potresti dare il permesso di scrittura all'utente "apache" per quel file....
    La sicurezza diminuisce un po' per cio' che riguarda quei files o quei comandi, ma per tutto il resto non dovrebbe variare molto...

    Sudo sembra ottimo. Faccio girare un'altro apache come un'altro utente e gli do i permessi.

    Qualche guida su sudo?

  7. #7

  8. #8

    Re: Eseguire comandi come root da php

    Originariamente inviato da PaoDJ

    mi sto costruendo un piccolo pannello per la gestione di apache. Non conoscendo bene il perl, lo sto scrivendo in php.
    Sapete dirmi se esiste un modo per far eseguire dei comandi come root (es. riavvio del servizio apache) da php?
    La prima cosa che mi viene in mente e` farti dei piccoli helper (programmi o script che fanno SOLO quello di cui hai bisogno), quindi configurare sudo affinche` l'utente con i quali privilegi gira il web daemon possa eseguirli senza password, ma possa eseguire solo quelli!

    Certo nel caso di operazioni complesse (es: modifica della configurazione) la cosa si complica, ma la soluzione nel suo complesso dovrebbe rimanere abbastanza sicura (spero )
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  9. #9
    Utente di HTML.it L'avatar di PaoDJ
    Registrato dal
    Oct 2001
    Messaggi
    273

    Re: Re: Eseguire comandi come root da php

    Originariamente inviato da Ikitt
    La prima cosa che mi viene in mente e` farti dei piccoli helper (programmi o script che fanno SOLO quello di cui hai bisogno), quindi configurare sudo affinche` l'utente con i quali privilegi gira il web daemon possa eseguirli senza password, ma possa eseguire solo quelli!

    Certo nel caso di operazioni complesse (es: modifica della configurazione) la cosa si complica, ma la soluzione nel suo complesso dovrebbe rimanere abbastanza sicura (spero )
    Credo che farò cosi. Uno script per fermare apache, uno per farlo partire ecc.
    Le configurazioni non sono un grave problema.
    Se dovessero sparire il sistema le ripristina automaticamente.

  10. #10
    Utente di HTML.it L'avatar di PaoDJ
    Registrato dal
    Oct 2001
    Messaggi
    273
    Per provare ieri ho fatto questa configurazione di sudo:

    codice:
    # User privilege specification
    root    ALL=(ALL) ALL
    
    apache_manager localhost=NOPASSWD: /sbin/service
    Con questo speravo di permettere all'utente apache_manager (membro del gruppo apache_manager) di poter eseguire il comando service.

    Facendo il login come apache_manager (ho settato la pass a 1234) e facendo "sudo service XXX restart" mi richiede una password, metto 1234 e mi dice: "apache_manager is not allowed to run sudo on server. This incident will be reported."

    Dove sbaglio?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.