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

    script bash cgi che esegue un comando sul server.

    ciao

    come faccio a eseguire un comando shell con uno script cgi ??

    io mi sono fatto una cosa del genere , ma no nfunziona :

    codice:
    #!/bin/sh
    echo "Content-Type:text/html"
    echo
    echo "Disconnessione PPPD..."
    
    ppp-off
    mi compare giustamente la scritta sul browser ma in comando ppp-off non viene eseguito.

    Qualche idea ?? :master:
    |Slackware
    |-------LINUX 10

  2. #2
    prova ad inserire il path assoluto. Tieni presente che il comando ppp-off viene eseguito dall'utente del webserver (apache in genere), ha i diritti per farlo?
    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
    ho provato a specificare il path assoluto ma niente da fare.

    il discorso utente mi era venuto in mente anche a me, ma non sò quale utente esegue i comandi....io tra i miei utente non ho nessun "apache" .... anche se mi sembra strano... ci sono tutti gli altri !! (mysql, postfix ecc...)
    |Slackware
    |-------LINUX 10

  4. #4
    per sapere a quale utente fa riferimento apache digita:

    $ ps aux

    nell'ultima colonna leggerai i nomi dei processi, cerca apache o apache2 o httpd (dipende dal sistema).

    dovresti trovare più di una riga, leggi la prima colonna, la prima riga dovrebbe avere come utente root, le altre righe il vero utente di apache.

    sui sistemi debian l'utente apache è www-data

    individuato l'utente fai questa prova:

    # su www-data -c "/usr/sbin/pppd -v"

    se ti compare:

    sh: line 1: /usr/sbin/pppd: Permission denied

    vuol dire che l'utente apache non può accedere a ppp.
    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
    ok, più tardi provo.
    Ma se non fosse permesso posso cambiare i permessi al file per far si che anche l'utente "apache" lo possa eseguire ??

    Per me sarebbe meglio se riuscissi a eseguire il comando come root, non so', pensavo a qualcosa tipo uno script che accetti come parametro la password di root e quindi esegua il comando ppp-on/off.

    Però non sò se si può fare....e se si non sò come!!
    |Slackware
    |-------LINUX 10

  6. #6
    se viene impedito agli altri utenti di azionare questi comandi un motivo c'è, in particolare apache che è attaccabile dall'esterno.

    se non hai accesso come root non puoi fare nulla. Invece se puoi loggarti come root e ti piace vivere pericolosamente sappi che ti basta cambiare il proprietario dello script in questione:

    chown root:root script.sh

    e poi dargli il setuid:

    chmod a+s script.sh
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  7. #7
    io ho accesso come root. Proverò e poi ti faccio sapere.

    per ora grazie
    |Slackware
    |-------LINUX 10

  8. #8
    provato e funziona a meraviglia !!

    Grazie !!

    Ora mi sono ulteriormente complicato la vita : nello script ho aggiunto anche fetchmail per scaricare la posta da internet. ovviamente mi vedo tutto l'output nella pagina del browser ed è bellissimo !! Ma mi piacerebbe che le righe andassero a capo come da console !
    Quindi : come faccio a far si che l'output di fetchmail vada a capo dopo ogni riga come fà nella shell ??
    |Slackware
    |-------LINUX 10

  9. #9
    sostituisci con una RE il carattere '\n' con '
    '
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

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 © 2025 vBulletin Solutions, Inc. All rights reserved.