Ho una sessione TMUX che esegue un server Minecraft e sto creando un'interfaccia Web per il server.Impossibile inviare comandi a una sessione TMUX da PHP
Attualmente ho i seguenti documenti:
command.sh
#!/bin/bash
tmux send-keys -t minecraft C-z "[email protected]" Enter
index.php
<?PHP
if($_POST) {
$commandString = $_POST['inputCommand'];
$output = shell_exec('./command.sh $commandString');
echo "<pre>$output</pre>";
}
?>
<form method="post">
<input type="text" name="inputCommand" placeholder="Type Command"/>
<input type="submit" value="Execute" />
</form>
command.sh lavora in un terminale in che posso utilizzare tutti i comandi standard nel modo
./command.sh "/help"
Tuttavia non è possibile eseguire questo script da php utilizzando la metodologia sopra riportata. Ho aggiunto due www-data e www-utente a sudoers e ha tentato di
shell_exec('sudo ./command.sh $commandString')
Ma che non ha funzionato neanche.
Quando si fa clic sul pulsante di invio, l'eco viene emessa ma è vuota.
Qualcuno può aiutare a indicare dove la mia metodologia per l'esecuzione dello script è andata storta?
EDIT Ho preso due screenshot, uno prima e uno dopo per chiarire ulteriormente.
Cosa non va? stai ricevendo un errore? Cosa ottieni come output? Quali comandi stai cercando che falliscono? Ti rendi conto che questo è un * buco di sicurezza * spalancato *? –
Nessun errore, l'output è vuoto, i comandi sono sopra. Questo non restituisce letteralmente nulla e il comando non viene eseguito. Ecco perché sono così perplesso e postato qui Sì, comprendo le implicazioni sulla sicurezza, questo è dietro a due schermate di accesso separate. –
@EtanReisner si prega di vedere sopra, ho postato uno screenshot per chiarire –