Mam sesję TMUX z serwerem Minecraft i tworzę interfejs WWW dla serwera.Nie można wysyłać poleceń do sesji TMUX z PHP
Obecnie mam następujące dokumenty:
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 działa w terminalu, że mogę używaj wszystkich standardowych poleceń w taki sposób, jak
./command.sh "/help"
Jednak nie mogę wykonać skryptu ze strony php przy użyciu powyższej metodologii. Dodałem zarówno dane i www-www-użytkownikowi sudoers i próbował
shell_exec('sudo ./command.sh $commandString')
Ale to nie działa albo.
Po kliknięciu przycisku wysyłania dane wyjściowe są wyświetlane, ale są puste.
Czy ktoś może pomóc w wskazaniu, gdzie moja metodologia wykonywania skryptu poszła nie tak?
EDIT Zrobiłem dwa zrzuty ekranu, jeden przed i jeden po, aby dokładniej wyjaśnić.
Co się dzieje? Czy pojawia się błąd? Co otrzymujesz jako wynik? Jakie polecenia próbujesz, które zawiodły? Czy zdajesz sobie sprawę, że jest to * luka * luka bezpieczeństwa? –
Brak błędu, dane wyjściowe są puste, polecenia są powyżej. To dosłownie nic nie zwraca i polecenie nie jest wykonywane. To dlatego jestem tak zaintrygowany i opublikowany tutaj Tak Rozumiem implikacje bezpieczeństwa, to jest za 2 oddzielnymi ekranami logowania. –
@EtanReisner, patrz powyżej, opublikowałem zrzut ekranu, aby wyjaśnić –