Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Reload di apache attraverso Perl o CGI

    Ciao a tutti ,
    premetto che lavoro principalmente con php quindi non so nulla di cgi o perl,

    il problema è questo , ho uno script : attiva.php?codice=marco

    che attiva l'utente marco, crea la cartella marco e crea un virtualhost su un file ad apache,

    es :marco.miosito.com

    Adesso come gli dico ad apache che sono root di sistema e che deve fare un reload ?

    Il server ha os debian 4 etch apache2 e php5 il sito non lo aministro come root ma come user quindi se aggiungessi uno script per eseguire questo reload , dovrei anche farlo autentificare come root.

    Grazie anticipatamente

  2. #2
    ovviamente è una operazione che in condizioni normali non è possibile poichè altrimenti salterebbe qualunque condizione di sicurezza.

    Qualunque soluzione parte dal presupposto che tu abbia le credenziali di root, oppure che l'amministratore sia disponibile ad assegnare ad un tuo script tali privilegi.

    Sussiste almeno uno dei due presupposti?
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    Si sono root del server quindi posso agire a mio piacere , ovviamente dicevo che il sito è messo su come utente normale ma eventualmente posso spostarlo e gestirlo come root ,

    anche se preferirei se è possibile autentificare quel utente come root solo per il reload.

    Grazie per ora

  4. #4
    allora puoi fare così.

    crea uno script che esegua solo il reload senza parametri passati dal web, ma decisi tramite dati presi da un file statico.

    rendi root proprietario:

    > chown root:root /path/script

    attribuisci il bit setuid:

    > chmod s+o /path/script

    in modo che lo stesso venga eseguito con i permessi di root anche se azionato da apache.

    Proteggi il tutto in qualche modo, ma senza passare la password di root da web.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  5. #5
    Grazie della risposta , ma non capisco alcune cose :

    Cosa ci devo mettere nello script per fare il reload di apache ?

    Se do chown sul file con root:root apache non lo apre il file ,

    e nemmeno con le mode che mi hai scritto lo apre ,

    per scrupolo ho messo 777 e +x ma anche cosi per via del chown non lo apre.




  6. #6
    Correzione , allora ho scritto 2 righe in questo modo :

    #!/bin/bash
    /etc/init.d/apache2 reload

    lo script lanciato da shell e come root funziona magari richiamato da apache e con i permessi giusti puo' funzionare ?

  7. #7
    Ho risolto in questo modo nel caso possa servire a qualcun altro :

    apt-get install sudo

    visudo

    e ho inserito questa riga

    nomeutente ALL=NOPASSWD: /etc/init.d/apache2 reload

    poi

    /etc/init.d/sudo restart

    Ora il comando è eseguibile da quel utente e senza password

    Purtroppo deficita di sicurezza ma almeno è una soluzione provvisoria per poter continuare a sviluppare il programma


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.