Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    Esecuzione comandi linux da php: not found

    Salve a tutti!
    Uso questa sintassi per seguire comandi linux e ricevere l'output su php:
    codice:
    $comando="df";
    $output
    = shell_exec($comando .' 2>&1');
    echo
    "<pre>$output</pre>";


    Funziona.

    NON funziona con il comando: postsuper -d ALL.
    Errore: sh: postsuper: not found

    Premesso che da shell linux classica funziona, cosa potrei sbagliare?
    Guybrush Threepwood

  2. #2
    dando per scontato che il tuo server abbia il comando e che accedendo alla shell come root o come cmq un utente "normale" il comando esista,

    conta che quando esegui comandi shell da una pagina php gestita da apache, l'utente che vai ad utilizzare è l'utente associato ad apache (che varia a seconda degli os e delle configurazioni). quindi la risposta può essere che apache non ha visibilità sul comando. Prova a richiamare postsuper usando la path completa al comando (che so, /usr/bin/postsuper, /bin/postsuper, usr/sbin/postsuper non so quale possa essere) e assicurandoti che l'utente di apache abbia i permessi per usarlo ( se apache gira con l'utente www ad esempio, basta che provi a fare sudo -u www postsuper -d ALL e vedere se lo esegue)
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Grande, ottime info
    Così facendo (dando il path completo), mi torna questo errore:
    postsuper: fatal: use of this command is reserved for the superuser
    Guybrush Threepwood

  4. #4
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Sempre da PHP,
    sudo -u www-data postsuper -d ALL --> www-data is not in the sudoers file. This incident will be reported.
    sudo -u root postsuper -d ALL --> sudo: no tty present and no askpass program specified
    Guybrush Threepwood

  5. #5
    ti vorrei rispondere ma non riesco...mannaggia al bug del forum
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    e qui arriviamo al secondo problema: devi consentire a www-data di usare quel comando senza possibilmente chiedere la password. per fare questo devi configuare sudoers ( credo che sia in tutti gli os in /etc/sudoers ) per consentire ad apache di usare liberamente quel file, praticamente aggiungere una cosa tipo

    www-data ALL=(ALL) NOPASSWD: /path/to/postsuper

    premesso che io non sono un sistemista linux quindi non so se ci sono modi migliori per farlo
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.