Tôi có phiên TMUX đang chạy máy chủ Minecraft và tôi đang tạo giao diện web cho máy chủ.Không gửi lệnh đến phiên TMUX từ PHP
Hiện nay tôi có các tài liệu sau:
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 làm việc tại một nhà ga ở chỗ tôi có thể sử dụng tất cả các lệnh tiêu chuẩn theo cách
./command.sh "/help"
Tuy nhiên, tôi không thể thực thi tập lệnh này từ php bằng phương pháp trên. Tôi đã thêm cả www-data và www dùng để sudoers và cố gắng
shell_exec('sudo ./command.sh $commandString')
Nhưng điều đó đã không làm việc một trong hai.
Khi nhấn nút gửi, đầu ra được lặp lại nhưng nó được để trống.
Ai đó có thể vui lòng trợ giúp trong việc chỉ ra nơi phương pháp của tôi để thực thi tập lệnh đã đi sai?
CHỈNH SỬA Tôi đã chụp hai ảnh chụp màn hình, một ảnh chụp màn hình trước và một ảnh sau để làm rõ thêm.
Điều gì đang xảy ra? bạn đang nhận được một lỗi? Bạn đang nhận được sản phẩm như thế nào? Bạn đang thử những lệnh nào thất bại? Bạn có nhận ra đây là lỗ hổng bảo mật * gaping * không? –
Không có lỗi, đầu ra trống, các lệnh ở trên. Điều này nghĩa đen không trả về gì và lệnh không được thực hiện. Đó là lý do tại sao im rất bối rối và được đăng ở đây Có, tôi hiểu ý nghĩa bảo mật, đây là đằng sau 2 màn hình đăng nhập riêng biệt. –
@EtanReisner vui lòng xem ở trên, tôi đã đăng ảnh chụp màn hình để làm rõ –