Pagina 1 di 1

[RISOLTO] Spegnimento remoto

Inviato: martedì 17 giugno 2014, 14:59
da wss2
Salve a tutti ho bisogno di una mano.
Sono ore che ci batto la testa e non riesco a venirne a capo.
Sto sviluppando un progetto di domotica in casa e sto cercando un modo di spegnere tutte le singleboard, in caso di necessità, con un pulsante php.
Ho trovato questo script on line che tra tutti mi sembra quello che fa più al caso mio

Codice: Seleziona tutto

<?php
if ($_GET['run']) {
  # This code will run if ?run=true is set.
  exec("/path/to/name.sh");
}
?>

<!-- This link will add ?run=true to your URL, myfilename.php?run=true -->
<a href="?run=true">Click Me!</a>
Ne ho provate di tutte i colori ma niente non funziona.
Uso sulle single board uan distro di ubuntu 14.4 con lxde e la mia versione di php è la 5.5.9-1ubuntu4.
Per concludere aggiungo che ho aggiunto con visudo -f /etc/sudoers la stringa:

Codice: Seleziona tutto

 apache  ALL=(ALL)       NOPASSWD: /sbin/shutdown 
Tutti i file per evitarmi rogne con i permessi sono in 777

Come posso risolvere la situazione qualcuno mi può aiutare?

Re: Spegnimento remoto

Inviato: martedì 17 giugno 2014, 16:52
da difesaparcosempione
name.sh è scritto bene?
sa mai !

Re: Spegnimento remoto

Inviato: martedì 17 giugno 2014, 18:50
da wss2
name.sh sono 3 righe

Codice: Seleziona tutto

#!/bin/bash

poweroff

exit 0
oppure

Codice: Seleziona tutto

#!/bin/bash
shutdown -h now
exit 0
oppure

Codice: Seleziona tutto

#!/bin/bash

halt

exit0

Re: Spegnimento remoto

Inviato: martedì 17 giugno 2014, 18:56
da difesaparcosempione
dal settaggio di sudo utilizzerai però il 2ndo script !!
ciao

Re: Spegnimento remoto

Inviato: martedì 17 giugno 2014, 18:57
da wss2

Re: Spegnimento remoto

Inviato: martedì 17 giugno 2014, 19:01
da difesaparcosempione
Per evitare posibili problemi di utenze ...
Prova ad eseguire un touch file-qualsiasi contenente informazione data di esecuzione all'interno dello script ..

Se non vedi file ... allore il problema e il php e via dicendo ..

Re: Spegnimento remoto

Inviato: martedì 17 giugno 2014, 19:08
da wss2
touch name.sh non da risposta.
Comunque lo script funziona bene se lo eseguo in ./ o in shù
Ho provato anche il comando php shell_exec ma nulla

Re: Spegnimento remoto

Inviato: martedì 17 giugno 2014, 19:29
da difesaparcosempione
Non mi sono spiegato bene
dentro lo script ( al posto dello spegnimento )
prova a mettere qualcosa come:

Codice: Seleziona tutto

#!/bin/bash
touch file-"`date`"
ciao

ps adesso skappo ...
ciao

Re: Spegnimento remoto

Inviato: martedì 17 giugno 2014, 19:34
da wss2
difesaparcosempione [url=http://forum.ubuntu-it.org/viewtopic.php?p=4601021#p4601021][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Non mi sono spiegato bene
dentro lo script ( al posto dello spegnimento )
prova a mettere qualcosa come:

Codice: Seleziona tutto

#!/bin/bash
touch file-"`date`"
ciao

ps adesso skappo ...
ciao
Ok non funziona a questo punto più che nello script credo che il problema sia l'esecuzione di quest'ultimo.

Re: Spegnimento remoto

Inviato: mercoledì 18 giugno 2014, 17:42
da difesaparcosempione
Con touch fati creare file in path assoluti ( x sicurezza , sa mai !) --> /home/utente/file...
Non se se potrebbe divenire un problema ... hai dato con chmod +x il permesso di esecuzione ai tuoi script ...
ciao

Re: Spegnimento remoto

Inviato: mercoledì 18 giugno 2014, 18:46
da wss2
difesaparcosempione [url=http://forum.ubuntu-it.org/viewtopic.php?p=4601703#p4601703][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Con touch fati creare file in path assoluti ( x sicurezza , sa mai !) --> /home/utente/file...
Non se se potrebbe divenire un problema ... hai dato con chmod +x il permesso di esecuzione ai tuoi script ...
ciao
Si si i path sono assoluti almeno evito rompimenti di scatole e tutti i file in fase di test li metto in 777 (chmod +rwx) tanto per stare tranquillo però ripeto secondo me è un problema di permessi ma del php in fase di richiamo bash in quanto i file presi singolarmente funzionano.



EDIT

Bingo ho trovato il problema non so la soluzione:
Questo è il log di apache

Codice: Seleziona tutto

[Thu Jun 19 02:25:56.682473 2014] [:error] [pid 2083] [client 192.168.0.150:509$
sh: 1: a.sh: not found
touch: cannot touch 'file1': Permission denied
touch: cannot touch 'file1': Permission denied
Indubbiamente il problema è nei permessi di esecuzione ripeto sono tutti in 777 ( rwx che dir si voglia) quindi come risolvere?

EDIT

Risolto anche questo bastava aggiungere in sudoers www-data e poi il comando in esecuzione
Ora il problema è una altro ancora

Codice: Seleziona tutto

[Thu Jun 19 02:25:56.682473 2014] [:error] [pid 2083] [client 192.168.0.150:509
must be run from a terminal

Re: Spegnimento remoto

Inviato: mercoledì 18 giugno 2014, 22:59
da wss2
Risolto tutto ed era più semplice del previsto bastava aggiungere una riga a sudoers.

Codice: Seleziona tutto

visudo -f /etc/sudoers
ed aggiungere in fondo.

Codice: Seleziona tutto

www-data ALL=NOPASSWD: ALL

Re: Spegnimento remoto

Inviato: mercoledì 18 giugno 2014, 23:01
da wss2

Re: [RISOLTO] Spegnimento remoto

Inviato: mercoledì 18 giugno 2014, 23:01
da jackynet92
Ciao, modifica il post precedente, usando la formattazione ordinaria e se ritieni risolto il problema, modifica il titolo del primo post aggiungendo all'inizio [Risolto].

Se vuoi puoi installare questo script che ti aggiunge un pulsante che ti permette di mettere [Risolto] con un solo click.

Alla prossima :ciao:

Re: [RISOLTO] Spegnimento remoto

Inviato: mercoledì 18 giugno 2014, 23:03
da wss2
jackynet92 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4601971#p4601971][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Ciao, modifica il post precedente, usando la formattazione ordinaria e se ritieni risolto il problema, modifica il titolo del primo post aggiungendo all'inizio [Risolto].

Se vuoi puoi installare questo script che ti aggiunge un pulsante che ti permette di mettere [Risolto] con un solo click.

Alla prossima :ciao:
Fatto va bene ora?

Re: [RISOLTO] Spegnimento remoto

Inviato: mercoledì 18 giugno 2014, 23:06
da jackynet92
Togli anche il grassetto e siamo a posto ;)

Re: Spegnimento remoto

Inviato: giovedì 19 giugno 2014, 14:17
da difesaparcosempione